Logical Structure:
· Presentation layer
o Java Servlets handle inbound HTTP requests from browser
o Invoke data service objects when required
o Various static data – e.g. control tables, language-specific messages and labels – are cached
o Uses XSL/T technology to create HTML
· Business layer
o Data service objects are invoked from presentation
o These services ultimately perform business functions
o Service objects themselves are Java, but business logic could be implemented in Java or COBOL
o Invoke data access objects to communicate with database
· Data access layer
o Uses Hibernate Object Relational Model (ORM) framework for database access and persistence
o Java Database Connectivity API (JDBC) is used for SQL statements from COBOL
o All database calls are routed through framework’s data access layer – application programs do not issue direct calls to database
Services:
· ORACLE system makes heavy use of “services”
· These are data access and update services
· Implemented in Java at high level – Java or COBOL at lower levels
· Access Oracle / DB2 / SQL Server
· Each service has XML metainfo document describing its structure
· Framework automates mapping of string-based browser data to service data structure using metainfo XML (more about this in XAI class)
· Service Dispatcher routes Web servlet requests to Java or COBOL service …
· Service dispatcher acts as conduit to business objects from presentation layer
· A service invocation represents a database transaction
· Invokes Java or COBOL service
· Service dispatcher is invoked from Web servlet
· Invokes appropriate service for Web request:
o Page
o List
o Search
Page Service
· “Top level” application service
· Orchestrates display and update of all data for a root object and all its child objects – e.g. Person, Person Name, Person Phone, Person Id, etc.
· Data is displayed on a single tab menu – across one or more child tab pages
· Page service names end with “P” – e.g. Person service is CILCPERP.
- To apply Custom validations on page service we have to use Maintenance Extension. About Maintenance extension I’ll post in blog soon....
List Service:
· Defines list of objects
· Could contain nested lists
· Used for list-oriented data – e.g. Customer Contacts
· List service names end in “L” – e.g. CILCPCCL for Customer Contact list
· Do not support database updates
Search Service:
· Used to support ad-hoc user searches
· Results similar to list services
· Input is set of criteria and search mode
· Search service names end in “S” – e.g. CILCPERS for Person search
We can also able to overwrite existing Search Service using OUAF technical component using java.
No comments:
Post a Comment