Model based Java development - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Model based Java development

Description:

Simplified runtime architecture diagram. Browser. External system ... Deploys EAR. Sets up environment. Data sources. Queues, listener ports etc. Registries ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 24
Provided by: mikkella
Category:
Tags: based | development | diagram | ear | java | model | of | the

less

Transcript and Presenter's Notes

Title: Model based Java development


1
Model based Java development
  • Mikkel Lauritsen
  • Intentia RD
  • mikkel.lauritsen_at_intentia.dk

2
Agenda
  • Intentia
  • e-Commerce applications
  • Model based development
  • Demo
  • Discussion

3
Intentia
  • Midsize Swedish software company
  • 300 developers
  • Enterprise solutions
  • Applications and consulting
  • 3000 customers
  • M3 Make, Move, Maintain
  • Partner with IBM
  • Large installed base on iSeries
  • Headquarters in Stockholm, offices in about 40
    countries
  • RD in Sweden (Stockholm, Linköping and Göteborg)
    and Denmark (Ballerup)

4
Agenda
  • Intentia
  • e-Commerce applications
  • Model based development
  • Demo
  • Discussion

5
History
  • Developed by Intentia e-Commerce in Ballerup
  • Web based B2B applications
  • Buy side e-Sales
  • Sell side e-Procurement
  • Originally on Microsoft, now on J2EE (WebSphere)
  • Shared modeling and runtime framework
  • Migrated by retargeting the tooling and
    redeploying

6
Target audience
  • Standard off-the-shelf products
  • Upgradeable and customizable
  • Installed and modified by business consultants
  • Not necessarily well versed in Java
  • Definitely not J2EE experts
  • Unaware of side effects and non-functional
    requirements

7
Aspects
  • Complex applications
  • Business functionality
  • Catalog browsing with individualized item
    availability
  • Collaborative order management
  • Configurable approval flows
  • Integrated content management
  • etc.
  • Framework
  • EJBs
  • Message queuing
  • Scheduling engine
  • etc.

8
Metrics
  • Average application size is around
  • 60 EJBs with 500 methods
  • 200 JSPs
  • 120 database tables
  • 5000 lines of autogenerated SQL

9
Runtime platform
  • WebSphere 5.1
  • Embedded WebSphere JMS provider
  • SQL Server
  • Runtime framework
  • URL parsing, authentication etc.
  • Lots of open source, especially from the Jakarta
    projects
  • ERP systems as backend
  • Movex BE and others

10
Runtime architecture
  • Pseudo-MVC
  • View and control integrated
  • Stateless session beans as business logic facade
  • No entity beans
  • Message driven beans for asynchronous method
    calls
  • XML based data transport
  • Integration engine
  • Pipelines
  • Merge data from multiple backend systems
  • Homegrown persistence mechanism

11
Simplified runtime architecture diagram
Client
Application
Backend
JSP
Browser
Presentation URL parsing Taglibs
EJB stub
EJB
HTML
XML
Pipeline engine
Database
SQL
HTTP
XML
Native
Local RMI (JMS)
ERP
Native
External system XML gateway
Native
XML
HTTP
Data
Generated code
External components
12
Agenda
  • Intentia
  • e-Commerce applications
  • Model based development
  • Demo
  • Discussion

13
Modeling fundamentals
  • High coverage
  • Most of the business functionality (90/10 rule)
  • All of the runtime environment
  • Tooling support for entire process from
    customization to deployment
  • Persisted as XML
  • Except for historical parts
  • Not UML
  • Some parts map nicely onto UML
  • UML is much too generic to be of any value

14
Mapping model into runtime artifacts
Application model
EAR
Presentations
WAR
Business objects
EJB JARs
Data access JARs
code gen.
Mapping
Data sources
Custom logic
Custom JARs
Runtime JARs
15
Model based development - editing
  • Homegrown Win32 based tooling (Design Center)
  • We would really really like to be on Eclipse
  • Eclipse used for custom written code

16
Model based development - code generation
  • Application generator implemented in Java
  • Velocity
  • XDoclet
  • Ant
  • Homegrown code for persistence engine, JSPs
    etc.
  • Currently integrated in deployment servlet
  • Does complete application assembly

17
Model based development - deployment
  • Exposed as servlet
  • Deploys EAR
  • Sets up environment
  • Data sources
  • Queues, listener ports etc.
  • Registries
  • Supports limited delta deployment

18
Development setup
Dev. workstation
App. server
Design Center
Publish servlet
XML
HTTP
WebSphere application repository
Model repository XML
19
Agenda
  • Intentia
  • e-Commerce applications
  • Model based development
  • Demo
  • Discussion

20
Demo
21
Agenda
  • Intentia
  • e-Commerce applications
  • Model based development
  • Demo
  • Discussion

22
Discussion
  • Modeling works for us
  • Lowered skills requirements
  • No need to care about nonfunctional requirements
  • Successfully migrated from MS to J2EE
  • Faster than migrating applications by hand
  • Similar user experience as on much simpler ASP
    platform
  • Not UML but DSL
  • Domain primarily means platform type, secondly
    application qualities

23
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com