Regnet Specification : Technical
point of view
Regnet Technical Architecture
Technical architecture present building blocks of software
that we used in order to implement functions. Two
Engineering point of view: independent of the technologies
Technological point of view: gives technologies used.
System architecture gives projection of the technical
architecture on material.
UP : Elaboration phase
Have a selection process for your development and deployment
Identify alternative solutions in case problems arise.
Define your selection criteria.
The independence rule.
Avoid “Software Mainframe Syndrome”
Avoid being locked with proprietary solutions
Don't try to predict the future.
Integration is the price to pay for freedom
Technical Integration is an essential criteria.
One technology may be the most efficient but will
not integrate at all with other technologies and in
the overall architecture...
Technical Architecture =
Designing the Integration
Designing the integration is to define the way the system
will work as a whole.
Define collaboration between different products.
Define at the very beginning the constraints that the
architecture will put on the model and the implementation.
You will certainly have to define elements that will glue the
Modeling and coding standards.
Development tools with user guides.
Build management facilities
To validate the design of the integration layer against
To cope with integration risks.
To build the complete list of constraints that architecture puts on
“Only trust what you see.”
The architecture prototype must implement a
limited part of the business model.
A vertical slice of 5 to 15 classes.
Validate the Architecture from end to end.
Apply load tests, fault-tolerance tests, and so on …
Define the path from Analysis to Implementation.
Data Access. Lifecycle.
Logon/Sessions management Creation
Access control Distributed memory
System Management. management
Active servers list Separation between database
Starting/Stopping servers object lifecycle and in-
memory object lifecycle
Dynamic load balancing Trace and debugging.
Special management Availability, Fault-tolerance
protocols : SNMP, and cold/warm restart
Engineering point of
Integration and Automation Platform
Data acquisition ? Application Database
Web Application Platform
Web Process Automation Z39.50
Application Publication …
Wap or PDA ? Embedded
B2B Enterprise Data Services
Directory Organization Platform Security Policies
Web Clients Database
Clients Central Data Center Third Party
Regional Office e-Services
Component based technical
You must write :
your business object
Integration code Business objects
Name Pers. Secu. Trans. Event
RMI or CORBA
You must write :
Name Pers. Secu. Trans. Even.
Standard technical services
This is the case for CORBA and RMI
You must write : Business logic integration
Name Pers. Secu. Trans. Even. DataBase
Standard technical services
Component container (EJB, Servlets/JSP...)
Descriptor as a technical
The object implements the business contract
Published business interface
The descriptor describes the technical contract
Life Cycle : How was I created ? Destroyed ? Passivated ? Found ?
Transactions : Are my operational transactional ? Who can see my
Concurrent access : Can multiple clients access me at the same time ?
Persistence : Should my state be saved in a persistent storage ?
Security : Who is allowed access my services ?
This technical contract will be automatically implemented
At deployment-time, and provided to the container
The component :
distinguishes interface and implementation
the implementation is instantiated into a server side container
The container :
intercepts the communications between the client and the
component in order to enable framework code automation, such as
transactions and persistence management
Communicates with the component by using direct function calls
Server Container Services
Client automated infrastructure Infrastructure APIs
transparent localization The container acts as a distributed Component
server object implementation of the business logic
Java 2 Enterprise
Java Enterprise Platform J2EE is managed as a full
Superset of Java 2 Standard release
Edition (J2SE, ex-JDK) Specification
Integrates business (EJB), Reference Implementation
and Web (Servlet/JSP)
Compatibility tests and label
and several other Java APIs
Java 2 Enterprise
What is an J2EE application ?
A set of component modules
Component Module Application
Description A Archive
B + assembly
An application is deployed into a J2EE server
It can also be directly deployed as an "standalone" module
The EJB standard
Model for business components
Specifies interfaces provided by a business component container
The vendors provides compliant implementations
No link with JavaBeans (GUI components) !
More than 35 editors provide containers compliant with the EJB
Allow business components reuse without code access
Simplify components and applications development
Let IS suppliers manage complex enterprise IT issues
Standardize Java application servers
The heart of the Java enterprise platform
Defined by Sun in partnership with IBM, Oracle, BEA and many others
Industry key needs for the future :
Compliance to the J2EE platform
Component-based development cycle (tooling)
J2EE simplifies project development but :
e-business projects are getting more complex
Internet/Web, transactions, workflow, B2B, EAI, persistence
Design phase is critical
Blindly following the standard can lead to an dead-end
The experience of J2EE applications is an advantage
Choosing a product is critical
Variable support for standards (amount of support, versions...).
A significant part of e-business projects does not rely on standards only
Regnet technical architecture
WebServer : Apache
Server Page : JSP (Tomcat), PHP
WAP, PDA :
Data and MetaData acquisition:
2D or 3D data : Applet + Java 2D or 3D + upload servlet
DataBase: MySQL (transaction ?), PostgreSQL
O/R Mapping: Castor
B2B infrastructure: Web services
ebXML: cf. Task 1.3
JBOSSSoap: Zero-Effort Object Access Package (ZOAP)
B2B sophisticated functionalities
Workflow engine: WFTK (Open-source workflow toolkit)
Java IDE: SUN/Forte for Java