Upload
harezmi-it-solutions
View
151
Download
0
Embed Size (px)
Citation preview
Model Driven Enterprise Software Development
Platform
How Enterprise Software is being Developed Today?
Resulting, development of almost everything from ground zero for each new project!
Inability to transfer already developed solutions to new projects...
No initial architectural foundation is ready at the beginning, instead it evolves over time...
Inability to create a common vision among project members...
Using bunch of technologies which are not fully comprehended by the developers...
Customer requirements are always changing, and no clear picture of end result can be put on the table at the
beginning...
What are the Negative Effects of the Current
Situation?
In terms of Companies
• Overbuget projects
• High maintenance costs
In terms of Managers
• Failing plans
• Delayed delivery dates
In terms of Developers
• Overtimes, sleepless nights
• Inability to specialize in a specific topic
In terms of Customers
• Late delivered solutions with missing functionalities
• Low quality, hard to use solutions
What are the Expectations of Contemporary Software
Houses?
Delivering products in shorter time periods
Improving software development productivity
Lowering costs of project development
Then What is the Solution?
Main Features of the Solution
Should allow creation of a working solution based on customer requirements from day one
Should enable software development with reusable components
Should provide a ready to use
architecture to place application on top
Should help team members work on a
common model
Fundamental Building Blocks of the Solution
• Model Driven Software Development
• Enterprise Middleware Services
Model Driven Software Development
It aims software developers to work on a common model
Turns software development into an activity which is more visual
Model Driven Software Development
Common model becomes originating place for source code, documentation and tests
Source code
documentation
Model Driven Software Development
Helps developers to focus more on business requirements
Model Driven Software Development
Creation of working solutions becomes faster
Enterprise Middleware Services
• They are orthogonal to business requirements• Business requirements are built on top of those
services
They can be implemented as reusable building blocks
Appear in every enterprise project again and again
Deja Vu?
Enterprise Middleware Services
• security, • data access, • reporting, • internationalization, • logging,• messaging, • auditing,• monitoring,• help...
and similar requirements are satisfied by those kind of services
Enterprise Middleware Services
Our Solution!
Speedy Framework
Enables developers to work on a common model
Speedy Framework
Provides ready to use software components
Speedy Framework
Provides a well defined, and ready to use architecture to build apps on top
Speedy Framework
Brings several different frameworks and libraries together and integrates them
Speedy Framework
Brings a more systematic and automatic approach to enterprise software development activity
Speedy Framework Modules
core jdbc orm security web
ui reporting auditing monitoring bpm
SpringJPA/
HibernateVaadin
SpringSecurity
ActivitiJasper
Reports
jdbc-h2jdbc-oracle
jdbc-c3p0
jdbc-dbcp
orm-hibernate
security-cas
ui-security
ui-reporting
ui-auditing
ui-monitoring
ui-settings
TechnologyStack
CoreModules
Stack
OptionalModules
Stack
PluggableModules
Stack
AspectJ
Speedy Tools SuiteEclipse Plugin Stack
Speedy New Project Wizard
Speedy Robustness Diagram Editor
Speedy Class Diagram Editor
Speedy Properties Editor
Eclipse Platform
Robustness Diagram Editor
Class Diagram Editor
Speedy FrameworkMain Features
● Event based UI programming model based on MVP and Mediator patterns
● Enabling development of modular, decoupled and reusable UI components
● View Model support to managing binding of persistent domain instances to UI pages effectively
● Master-detail oriented page structures ready to use to develop CRUD like scenarios easier and faster
● Read-only and read-write mode support for master and detail pages
Speedy FrameworkMain Features
● Search criteria build and dynamic query generation support
● Managing user defined queries for later uses● Paging support to display large amount of search
results page by page● Dashboard support● Support to define user menu declaratively● User Preferences support to manage user specific
data
Speedy FrameworkMain Features
● Support to display confirmation dialogs before executing UI tasks
● Dirty content checking mechanism to detect unsaved user modification during page navigation
● Bread crumb support to help users see where they are currently located and navigate to previous pages they viewed
● Exception translation support to convert application specific errors to user friendly messages
Speedy FrameworkMain Features
● Support to record functional UI tests and run them automatically
● Allowing developers to pause functional UI tests to examine and execute UI test scenarios manually
● Sample test data loading mechanism● Target platform support, to manage customization of
application according to target deployment platform
Speedy FrameworkMain Features
● Internationalization and localization support● Regional settings support manage Locale, Language,
TimeZone and Currency related user specific data● Context sensitive help mechanism to display help
content related with a specific UI component, page part, or current page
● Tool-tip support to display tooltips for UI components● Support to manage help content either within file
system or in relational database
Speedy FrameworkMain Features
● Declarative and programmatic transaction management support
● SQL Exception translation support to convert SQL error codes into meaningful data access related exceptions
● Multi tenancy and protection domain support to host several clients in the same application
● ORM and JPA support● Support to use Hibernate as an SQL mapping tool
Speedy FrameworkMain Features
● Support to code domain classes faster and easier, like equals, hashCode, compareTo methods, ready to use domain class hierarchies
● Generic service and DAO API to perform CRUD operations on domain classes
● Video streaming capability over HTTP● Dynamic report generation for search results, and detail
views● Exporting reports in various formats, such as PDF,
DOC, XSL or HTML
Speedy FrameworkMain Features
● Redirecting report output to different targets, like screen, e-mail or file
● Scheduled task execution support, to execute jobs in predefined times, and in repeated time intervals
● Synchronous and asynchronous mail sending capability
● Support to monitor web requests, published events, service method calls in detail, their execution time, and their call hierarchies
Speedy FrameworkMain Features
● Support for different authentication methods, such as form login, HTTP basic auth, LDAP etc
● Additional authentication checks during user login, like account status check, credentials expiration, allowed IP range check etc
● Captcha support for multi factor authentication● Storing password encrypted● Redirecting users to different pages after their
authentication based on their roles
Speedy FrameworkMain Features
● Remember-me support● Managing authentication data in various user realms,
like DB, LDAP● Authentication bypass support for testing purposes● User session management to allow max concurrent
sessions opened by a single user account● Protecting users from session fixation attacks● CSRF protection support
Speedy FrameworkMain Features
● Hierarchical group and authority management● Authorization support to protect web requests, service
method invocations and access to domain objects● Hierarchical page level security to manage access
rights to pages and parts defined in those pages● Switching from one user account to another at runtime● Invoking a service method with different privileges at
runtime
Speedy FrameworkMain Features
● Support to create and manage domain object level security metadata (ACL data)
● Security operations related event publish support to let applications customize their authentication and authorization scenarios
● Entity and service level auditing to record user operations performed in the system in order to give answers to questions like who, when, from where and what
Speedy FrameworkMain Features
● Support to validate input arguments and return values of service method calls
● Support to cache service method results● Fail safe log4j configuration during bootstrapping
process
• Software development becomes faster as most of the middleware services are provided out of the box, and a ready to use architecture available from the beginning
• Ensures a same level of quality accross the whole system
• Quality will be less dependent on individual software developers
Expected Benefits
Expected Benefits• Cuts number of bugs down as considerable
amount of code won't be written because of reusable software components, and generation of source code out of model
• Learning curve of finished system for end users will be much lower as system will have more standardized look and feel, and standard handling of user scenarios
• Project costs in every phase of the software development will be lower
Business Model
● Speedy Core Framework will be open source Apache Version 2.0 License
● Speedy UI Modules and Speedy Tool Suite will be open source, too, but are planned to be commercial licensed
● We expect to earn money by selling professional support● We are already using Speedy Framework to develop
contract based enterprise web application solutions, ● and expect an increase in number of such development
projects
Business Model
● Offer mentoring and consultancy services related with developing enterprise software
● Organize public and private trainings related with enterprise technologies we are highly knowledgeable and experienced
Target Customer Profile
● Any organization or company in which enterprise web application development performed is a potential customer for Speedy
● Those organizations or companies might be producing enterprise software for their customers,
● Or they might be developing software for their own use within their IT departments
● We aim to persuade technical people of those organizations that employing our solution makes their progress much faster and easier
Marketing & Sales
● Advertise our solution set in IT related conferences and public speaks
● Publish technical articles on popular technology related sites and magazines to demonstrate our technical expertise,
● and how common pain points in enterprise web application development are solved by employing our solution
● Visit potential customers on site to demonstrate our product
Competitors
● There are several tools and frameworks which address parts of our solution
● However, three main competitors appear as close competitors to what we offer as full stack enterprise software development platform
● CUBA Enterprise Application Development Platform
● Radicore Application Development Toolkit● Evolutility CRUD Framework
CUBA Enterprise Application Development Platform● Data aware visual components● UI style customization● Generic data filter● Support for persistence and data access operations● Built-in report engine● Multiple languages support● Scheduled tasks● Audit support● Admins tools● Async e-mail sending
CUBA Enterprise Application Development Platform● Java EE based technology stack used● Runtime framework is open sourced with Apache
Version 2● Development Studio is available as commercial
product
Radicore Application Development Toolkit
● Automatic generation of Business model, CRUD services and UI● Built-in menu and navigation system● Role based access control system● Built-in messaging between components● Workflow engine● Support for audit logging● Internationalization and localization● Online help support● Export to different formats, like XSL, PDF
Radicore Application Development Toolkit
● PHP based technology used● Offers dual licensing
– AGPL v3 for non-commercial use
– Commercial license
Evolutility CRUD Framework
● Metadata-driven framework to develop database oriented applications without hand-coding
● Supports CRUD based UI generation● Master-detail pages and CRUD functionality● Multi-user support with password protection, row level
security● Multi-lingual● Support for multiple export formats● Cross-browser support
Evolutility CRUD Framework
● Microsoft .NET platform as technology stack● Offers dual licensing
– AGPL v3 for non commercial uses
– Commercial license
Organizations We Work Together
Contact
Harezmi IT Solutions
Speedy Framework
http://www.harezmi.com.tr
Tel: +90312 210 1036
Cep: +90533 638 2091