60
Model Driven Enterprise Software Development Platform

20160422 Speedy Framework Enterprise Application Development Platform

Embed Size (px)

Citation preview

Page 1: 20160422 Speedy Framework Enterprise Application Development Platform

Model Driven Enterprise Software Development

Platform

Page 2: 20160422 Speedy Framework Enterprise Application Development Platform

How Enterprise Software is being Developed Today?

Page 3: 20160422 Speedy Framework Enterprise Application Development Platform

Resulting, development of almost everything from ground zero for each new project!

Inability to transfer already developed solutions to new projects...

Page 4: 20160422 Speedy Framework Enterprise Application Development Platform

No initial architectural foundation is ready at the beginning, instead it evolves over time...

Page 5: 20160422 Speedy Framework Enterprise Application Development Platform

Inability to create a common vision among project members...

Page 6: 20160422 Speedy Framework Enterprise Application Development Platform

Using bunch of technologies which are not fully comprehended by the developers...

Page 7: 20160422 Speedy Framework Enterprise Application Development Platform

Customer requirements are always changing, and no clear picture of end result can be put on the table at the

beginning...

Page 8: 20160422 Speedy Framework Enterprise Application Development Platform

What are the Negative Effects of the Current

Situation?

Page 9: 20160422 Speedy Framework Enterprise Application Development Platform

In terms of Companies

• Overbuget projects

• High maintenance costs

In terms of Managers

• Failing plans

• Delayed delivery dates

Page 10: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 11: 20160422 Speedy Framework Enterprise Application Development Platform

What are the Expectations of Contemporary Software

Houses?

Page 12: 20160422 Speedy Framework Enterprise Application Development Platform

Delivering products in shorter time periods

Improving software development productivity

Lowering costs of project development

Page 13: 20160422 Speedy Framework Enterprise Application Development Platform

Then What is the Solution?

Page 14: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 15: 20160422 Speedy Framework Enterprise Application Development Platform

Fundamental Building Blocks of the Solution

• Model Driven Software Development

• Enterprise Middleware Services

Page 16: 20160422 Speedy Framework Enterprise Application Development Platform

Model Driven Software Development

It aims software developers to work on a common model

Turns software development into an activity which is more visual

Page 17: 20160422 Speedy Framework Enterprise Application Development Platform

Model Driven Software Development

Common model becomes originating place for source code, documentation and tests

Source code

documentation

Page 18: 20160422 Speedy Framework Enterprise Application Development Platform

Model Driven Software Development

Helps developers to focus more on business requirements

Page 19: 20160422 Speedy Framework Enterprise Application Development Platform

Model Driven Software Development

Creation of working solutions becomes faster

Page 20: 20160422 Speedy Framework Enterprise Application Development Platform

Enterprise Middleware Services

• They are orthogonal to business requirements• Business requirements are built on top of those

services

Page 21: 20160422 Speedy Framework Enterprise Application Development Platform

They can be implemented as reusable building blocks

Appear in every enterprise project again and again

Deja Vu?

Enterprise Middleware Services

Page 22: 20160422 Speedy Framework Enterprise Application Development Platform

• security, • data access, • reporting, • internationalization, • logging,• messaging, • auditing,• monitoring,• help...

and similar requirements are satisfied by those kind of services

Enterprise Middleware Services

Page 23: 20160422 Speedy Framework Enterprise Application Development Platform

Our Solution!

Page 24: 20160422 Speedy Framework Enterprise Application Development Platform

Speedy Framework

Enables developers to work on a common model

Page 25: 20160422 Speedy Framework Enterprise Application Development Platform

Speedy Framework

Provides ready to use software components

Page 26: 20160422 Speedy Framework Enterprise Application Development Platform

Speedy Framework

Provides a well defined, and ready to use architecture to build apps on top

Page 27: 20160422 Speedy Framework Enterprise Application Development Platform

Speedy Framework

Brings several different frameworks and libraries together and integrates them

Page 28: 20160422 Speedy Framework Enterprise Application Development Platform

Speedy Framework

Brings a more systematic and automatic approach to enterprise software development activity

Page 29: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 30: 20160422 Speedy Framework Enterprise Application Development Platform

Speedy Tools SuiteEclipse Plugin Stack

Speedy New Project Wizard

Speedy Robustness Diagram Editor

Speedy Class Diagram Editor

Speedy Properties Editor

Eclipse Platform

Page 31: 20160422 Speedy Framework Enterprise Application Development Platform

Robustness Diagram Editor

Page 32: 20160422 Speedy Framework Enterprise Application Development Platform

Class Diagram Editor

Page 33: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 34: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 35: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 36: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 37: 20160422 Speedy Framework Enterprise Application Development 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

Page 38: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 39: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 40: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 41: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 42: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 43: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 44: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 45: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 46: 20160422 Speedy Framework Enterprise Application Development Platform

• 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

Page 47: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 48: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 49: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 50: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 51: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 52: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 53: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 54: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 55: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 56: 20160422 Speedy Framework Enterprise Application Development Platform

Radicore Application Development Toolkit

● PHP based technology used● Offers dual licensing

– AGPL v3 for non-commercial use

– Commercial license

Page 57: 20160422 Speedy Framework Enterprise Application Development Platform

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

Page 58: 20160422 Speedy Framework Enterprise Application Development Platform

Evolutility CRUD Framework

● Microsoft .NET platform as technology stack● Offers dual licensing

– AGPL v3 for non commercial uses

– Commercial license

Page 59: 20160422 Speedy Framework Enterprise Application Development Platform

Organizations We Work Together

Page 60: 20160422 Speedy Framework Enterprise Application Development Platform

Contact

Harezmi IT Solutions

Speedy Framework

http://www.harezmi.com.tr

[email protected]

Tel: +90312 210 1036

Cep: +90533 638 2091