Title: AB Solution
1 AB Solution
03/20/03 Pisa
2Our History
Customized Applications
Software Packages
PC spread - integration
Integration among platforms (Cad, Schedulers,
Workflow, Post)
The Internet diffusion starts
Limits
Graphical interface
Multiplatform
Multidatabase
Open to the Internet
3The World
FIREWALL
SOCKET
OS/2
AS/400
RPG
MULTIDATABASE
JAVA
APPLICATION SERVER
STANDARD
C
TCP-IP
SAN FRANCISCO
MOBILE
PROXY
CLIENT SERVER
SAA
BROWSER
MULTIPIATFORM
4What we learned from our experience
San Francisco
C
Client Server Generators
Java
JWalk / Gui / Webfacing
5 .a forced choice
6Comparisons
7The Technological Environment
8Java
A simple, object oriented, distributed,
interpreted, secure, architecture neutral,
portable, high performance, multi threated and
dynamic language
- Java is the basis of the portable applications
that can be installed on different platforms. - The portability of Java is only the basis a
common denominator among different applications
must be found. - The specifications that were adopted by many
vendors solved the problem J2EE.
9J2EE
Java 2 Enterprise Edition (J2EE TM) is a set of
programming rules allowing the development, the
installation and the management of a multi-level
application on one server.
- Java 2 Enterprise Edition is the answer to the
always more urgent requests to - Reach a large number of direct and indirect users
(Internet) - First consequence is the high service
availability request (low down-time) - The almost unlimited variety of the users to be
served (scalability) - Integration possibility among different
applications
10Application models comparison
Application logic and data
Terminal
Traditional Model
Application logic and data
User Interface and application logic
Client-Server Model
Distributed Applicat. Logic
User Interface
Data
Multi-tier Model (multi-level)
Services
11J2EE
- It is an index of different specifications
- Requires a given number of services
- Supplies a development model
- Guarantees portability
- Guarantees compatibility among different
applications - Each version indicates in detail the version of
the relative sub-specifications
12J2EE
- J2EE V 1.3 foresees
- EJB (Enterprise JavaBeans) V 2.0
- JSP (Java Server Page) V 1.2
- Java Servlet Specification V 2.3
- JDBC (Java Database Connectivity) V 2.1
- JNDI (Java Naming and Directory Interface) V 1.2
- JMS (Java Message Service ) V 1.0.2
- JTA (Java Transaction API) V 1.0.1
- JTS, JAF, JAAS, JCA, JAXP, JAAS, CORBA
13The J2EE philosophy
- J2EE foresees the development for Components
- Takes advantage of the spiral development
- Isolates the business logic from the
presentation logic - Takes advantage of the development of
applications with a Web-based GUI - Guarantees and requires the use of the
transactional logic - Guarantees the applications distribution
14Application server
- Usually it is a Java application which supplies
the services required by the applications
specifications and performs the J2EE
implementation - An Application Server is a server that implements
the J2EE specifications - The server is tested and officially certified by
J2EE Compatibility Test Suite
15The Application Server role
Appl J2EE
Appl J2EE
Appl J2EE
EJB Container
WEB Container
Various Services
Application Server
- Operation System
- OS/400
- Windows
- Linux
- Others..
JTA
JNDI
- WebSphere
- WebLogic
- JBoss
- others
- Hardware
- Intel
- PowerPC
- Others..
- DBMS
- DB2/400
- UDB
- Oracle
- Others..
JDBC
16Summary
- The Application Server is responsible for the
encapsulation of the hardware, the operating
system, and the database - Supplies standard base services (JDBC, JNDI, JTA,
) - Supplies two containers (WEB and EJB Container)
in which it encapsulates its working modules to
the application
17J2EE Application
- A J2EE application consists of
- Tables, indexes, and etc., that maintain the data
from one session to another - Some EJB contain the business logic of an
application through services available by the
application server - Some static or semi-static HTML pages, which may
contain complex or semi-complex Java classes,
present più o meno statiche accompagnate da
classi Java più o meno complesse che si occupano
di presentare quanto la business logic prevede
usando i servizi messi a disposizione dal server
18J2EE Application the scheme
Application J2EE
JSP Object
Servlet
Client
Java class
EJB Component
EJB Component
EJB Component
EJB Component
Web Container
JNDI
EJB Container
JTA
Application Server
JDBC
19WebSphere Application Server
- The J2EE 1.3 version is supported by the Version
5 of WebSphere Application Server - Several products are available with the version
5 - WebSphere Application Server Express
- WebSphere Application Server
- WebSphere Application Server Network Deployer
- WebSphere Application Server Enterprise Edition
- WebSphere Application Server Express
- IS NOT SUFFICIENT !
20A modern application is
- Multiplatform
- Not only Windows or AS/400
- Multidatabase
- Multi Options (Free to Choose)
- Based on SQL (at least SQL 92)
- Object Oriented
- Improved Maintenance
- Web based
- Light client browser ? PC, Mac, PDA, Phones
- Transactional Server
21A modern application
- Lives with other applications
- XML
- Web Services
- Business Intelligence
- Based on well-known standards
- J2EE
- Multilanguage
- Technically documented
22A modern tool
- Supports the development of a modern
application -
- Isolates the application problems from the
technologies - Has short development times
- Supports the application needs as batches,
printouts, authorizations, application locks - Does not create mandatory links to the tool itself
23What is AB Solution
- Approach close to the current know-how
- Based on well-known standards
- Flexible and scalable
- Isolated from technology and from its evolution
- Very high productivity
- Natively multiplatform
- Creates a code that can be modified and performed
without the tool
24AB Solution Modules
- Database and J2EE application used by the
programmer to define the information - Java Application for the generation (creation)
- Base module for the generated code optimized
performance - Java application for the technical documentation
creation - Module for the user interface customization
- Other tools for different situations
25What does AB Solution do
- The code generator creates
- The necessary java source and compiles them
- The result, as described in the J2EE
specifications and adds the required description
by WebSphereTM, WebLogicTM and JBoss - The XML file used by the User Interface part of
the base module - The SQL script of the linked table and
creates/updates the same table on the application
database - The on-line help HTML file
26What does AB Solution do
- The generator of the technical documentation
creates sophisticated HTML-XML pages that explain
in details the currently developed application - This kind of tool solves one of the biggest
problems of a generalized application to have an
updated technical documentation for the product
maintenance improvement
27What does AB Solution do
- The base module runs
- User interfaces
- Batch functions
- Batch and interactive printouts
- Menu, actions and authorizations handling
- Multilevel application lock handling
- Multilanguage handling
28Why is it strategic?
- It is easy to learn because the class content
definition is based on the know-how of the
company or of similar environments - It does not need the writing of repetitive code
- The non-repetitive code logic is written with a
language similar to English and isolates the
programmer from the technology - The user interface is immediately available, so
it is possible to immediately test
29Why is it strategic?
- Each improvement to the current J2EE
specifications is an improvement for the
application - Regardless of those standards and languages that
are constantly updated, the application can still
be easily updated by the programmer, unlike other
languages - The development logic has all of the advantages
of Object Oriented concepts but not of the costs
of its evolution and rapid growth
30Who are the competitors?
- The competitors products are able to do what AB
Solution already does - Create for the first time an EJB object
- Re-create the object by simply adding attributes,
methods, or relations (also against the
modification of relationed objects) - Create and update a table, by keeping already
existing data - Create readable code
- Contains all required functions (batches,
printouts, menus )
31Therefore
- All the IDE environments are excluded by the
following competitors - JBuilder (Borland)
- Fortè (Sun)
- WSAD WebSphere Studio Application Development
(IBM) - Visual Cafè
32Differences
- The potential competitors are using case tools,
such as Cool Plex, Rational XDE - Cool Plex
- The generated code cannot be read
- It does not use a well-known standard, but
proprietary standards - Rational XDE
- The development environment is only for Windows
- Requires an integrated IDE for writing the Java
code - It is very expensive
33Ab Solution The evolution
AB Solution birth
2000
First release
February 2001
Now Project
Logistic Area
March 2001
2 years 12 people
First sale in the U.S.A.
July 2002
eRP.TEX Web Order Management
October 2002
Easy Group development of a vertical
November 2002
February 2003
First sale in Italy
34The Results
Use of the existing competencies Rapid
reconversion of RPG experienced personnel with
application know-how
- AB Solution instead of Java
- Technological Independence
- Code lines from a ratio of 101
- Automatic creation of technical documentation
From scratch to OS/400