CSE300 EAIusing EJB & XML CSE300-02 Enterprise Application Integration Using EJB and XML by Prithwis...
-
Upload
audrey-king -
Category
Documents
-
view
219 -
download
0
description
Transcript of CSE300 EAIusing EJB & XML CSE300-02 Enterprise Application Integration Using EJB and XML by Prithwis...
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
CSE300-02CSE300-02
Enterprise Application Integration Enterprise Application Integration Using Using
EJB and XMLEJB and XML
byby
Prithwis SettPrithwis Sett
Mumtaz LohawalaMumtaz Lohawala
Nayana ParanjapeNayana Paranjape
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
TopicsTopics EAI DiscussionEAI Discussion
Need for EAINeed for EAI
Design Issues for EAIDesign Issues for EAI
EAI ImplementationsEAI Implementations
EJB and XMLEJB and XML
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
What is an EAI?What is an EAI? An EAI is a solution to the outcome of generations An EAI is a solution to the outcome of generations
of development of stovepipe applications.of development of stovepipe applications.
It provides a framework that enables disparate It provides a framework that enables disparate applications to act as a single applicationapplications to act as a single application
EAI supports unrestricted sharing of data and EAI supports unrestricted sharing of data and processes among connected applications.processes among connected applications.
It provides a cost effective solution to cross-It provides a cost effective solution to cross-platform integration of application and data. platform integration of application and data.
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Why EAI?Why EAI? Use existing databases and applications.Use existing databases and applications.
Replacing existing stovepipe systems is cost Replacing existing stovepipe systems is cost prohibitive. prohibitive.
Corporations use several generations of systems Corporations use several generations of systems relying on a broad range of technologies.relying on a broad range of technologies.
Application software needs to integrate with Application software needs to integrate with existing systemsexisting systems
Demands for sharing data and processes without Demands for sharing data and processes without requiring to change application and datarequiring to change application and data
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Features of EAIFeatures of EAI EAI creates a common way for business processes EAI creates a common way for business processes
and data to speak to one another across applicationsand data to speak to one another across applications
It focuses on both process and data as against It focuses on both process and data as against traditional middleware approach.traditional middleware approach.
EAI includes the notion of reuse and distribution of EAI includes the notion of reuse and distribution of processes and dataprocesses and data
EAI allows users to easily integrate applications EAI allows users to easily integrate applications with limited knowledge of details. with limited knowledge of details.
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Design Issues for EAIDesign Issues for EAI Identifying the various software componentsIdentifying the various software components
Identifying interfaces to these components to Identifying interfaces to these components to enable their integrationenable their integration
Identifying data sources of the organizationIdentifying data sources of the organization
Representation of data as an open format documentRepresentation of data as an open format document
Providing easy standard data retrieval methods Providing easy standard data retrieval methods from the stored document.from the stored document.
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
EAI ImplementationsEAI Implementations
Message Systems:Message Systems:
Provide point to point solutionsProvide point to point solutions
Attempt to make the system scaleable results in Attempt to make the system scaleable results in complex middleware links.complex middleware links.
Increase in point-point solutions for information flowIncrease in point-point solutions for information flow
Require alterations to source and target systemsRequire alterations to source and target systems
Limited ability to react to change.Limited ability to react to change.
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Message SystemsMessage Systems
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
EAI ImplementationsEAI Implementations
Database - Database IntegrationDatabase - Database Integration Sharing Information between applications at the Sharing Information between applications at the
database level.database level.
Database replication features can be used to move Database replication features can be used to move information to the target database.information to the target database.
Both databases must have the same logical schema.Both databases must have the same logical schema.
Logic to manipulate the data resides in the Logic to manipulate the data resides in the database. database.
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
EAI ImplementationsEAI Implementations
Distributed Computing:Distributed Computing:
Enables integration of both business processes and Enables integration of both business processes and datadata
Includes the notion of reuse and distribution of Includes the notion of reuse and distribution of business processes and data. business processes and data.
Allows easy integration of applicationsAllows easy integration of applications
Its architecture lends itself well to integration. Its architecture lends itself well to integration.
Results in the development of scaleable systems.Results in the development of scaleable systems.
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
The EAI FrameworkThe EAI Framework
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
EJB & XMLEJB & XML Enterprise Java BeansEnterprise Java Beans is a server-side component is a server-side component
ArchitectureArchitecture
Simplifies the process of building enterprise-class Simplifies the process of building enterprise-class distributed object applications. distributed object applications.
Provides a distributed object framework for Provides a distributed object framework for scaleable, reliable and secure applicationsscaleable, reliable and secure applications
Supports application portability and reusability. Supports application portability and reusability.
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
EJB & XMLEJB & XML XML XML enables seamless exchange of data across the enables seamless exchange of data across the
enterprise.enterprise.
Data of the organization can be stored in a semi Data of the organization can be stored in a semi structured format to be transferred across the structured format to be transferred across the enterprise.enterprise.
Thus data exchange becomes transparent Thus data exchange becomes transparent independent of platform, language, and vendor.independent of platform, language, and vendor.
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Overview of the System : e-BookstoreOverview of the System : e-Bookstore
WWW
Supplier Enterprise
Customers and suppliers directly participate and
interact with the operational systems through the internet
Customer Enterprise
Enterprise
The external interactions of the enterprise with itscustomers and suppliers.
Customers
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Interactions within the EnterpriseInteractions within the Enterprise
IntegrationFramework
Sales
InventoryAccounting
Supplier
Purchase
Billing
Customer Interface
& Interaction
Business rules for theinteraction between
applications are built intoa structural framework.
Stores the name, author, quantity and price of available books.
Lets the customer login, query, add or delete books to their cart, and buy the cart.
Creates bills for a given sales transaction, records that sales transaction in the Sales DB and also modifies Inventory DB accordingly.
Generates purchase orders, processes and records purchase receipts, maintains Purchase DB and updates Inventory DB to reflect the purchase transaction.
Records sales and purchase transactions, which took place during a given time period, in the Accounting DB.
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Global ComponentsGlobal Components InventoryInventory
XML BeanXML Bean
Stores the description of the available booksStores the description of the available books Can be queried to find out the availability of book(s)Can be queried to find out the availability of book(s)
Is updated by Sales and Purchase departments after every sales and purchase transactionIs updated by Sales and Purchase departments after every sales and purchase transaction
Creates XML documentsCreates XML documents
Parses XML documentsParses XML documents
Sales transaction information for AccountingSales transaction information for Accounting Purchase order generation for SuppliersPurchase order generation for Suppliers Purchase receipt information for Purchase & AccountingPurchase receipt information for Purchase & Accounting
Sales transaction information to update Sales DB & InventorySales transaction information to update Sales DB & Inventory Purchase receipt information to update Purchase DB & InventoryPurchase receipt information to update Purchase DB & Inventory Sales & Purchase information for accounting purposesSales & Purchase information for accounting purposes
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Types of ActivitiesTypes of Activities
Sales TransactionSales Transaction
Purchase TransactionPurchase Transaction
Accounting TransactionAccounting Transaction
Starts in the Customer Interface Department Starts in the Customer Interface Department Processed and recorded by the Sales DepartmentProcessed and recorded by the Sales Department
Either reads Inventory & generates a Purchase OrderEither reads Inventory & generates a Purchase Order Or processes purchase receipt information Or processes purchase receipt information
Records all the Sales and Purchases over a given Records all the Sales and Purchases over a given period of timeperiod of time
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Sales TransactionSales Transaction
Query Customer Login
Register
Add to/Delete from Cart
Buy
New?
End
Start
Cart Empty?
Logged On?
Process Billing Information
Update Sales DB and Inventory
YesYesYesYes
NNoo
NNoo
Empty cart Empty cart cannot be cannot be
boughtbought
YesYes
NNoo
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Purchase TransactionPurchase Transaction
Start
Check Inventory and select items that are out
of stock
Generate Purchase Order
Record transaction in Purchase DB and update Inventory items
that are out of stock
Get Purchase Receipt Information
End
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Accounting TransactionAccounting Transaction
Start
Get all Sales information for a given period
End
Get all Purchase information for a given period
Calculate total Sales and total Purchase for that given period
Record the total Sales and Purchase in the Accounting DB
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Customer Interface DepartmentCustomer Interface Department
Handles customer Login & Buying activitiesHandles customer Login & Buying activities
Components for Login activityComponents for Login activity LoginCustomer class NewCustomer class
Components for Buying activityComponents for Buying activity ItemQuery class CartBean : Stateful Session Bean BuyBean : Stateless Session Bean
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
LoginCustomer classLoginCustomer class
Handles Logins by Registered CustomersHandles Logins by Registered Customersof e-Bookstoreof e-Bookstore
Public MethodsPublic Methods verifyCustomer()
Queries CustomerDB to find out whether thecustomer trying to login is present in it andverifies his/her login information.
CustomerCustomerInterfaceInterface
DepartmentDepartment
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
NewCustomer classNewCustomer class
Handles Registration of New CustomersHandles Registration of New Customersof e-Bookstoreof e-Bookstore
Public MethodsPublic Methods addNewCustomer()
Updates CustomerDB to add the new customerand stores his/her registration information.
CustomerCustomerInterfaceInterface
DepartmentDepartment
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
ItemQuery classItemQuery class
Handles the Queries for Items,Handles the Queries for Items,done by the customers of e-Bookstoredone by the customers of e-Bookstore
Public MethodsPublic Methods queryItemFromInventoryDB()
Queries InventoryDB to find if the items queriedare currently available with the e-Bookstoreand returns the resulting list of items.
CustomerCustomerInterfaceInterface
DepartmentDepartment
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
CartBean EJBCartBean EJB
Stateful Session BeanStateful Session Bean
Handles the Buying Carts of the customers of e-Handles the Buying Carts of the customers of e-BookstoreBookstore
Public MethodsPublic Methods addItemToCart() deleteItemFromCart() displayCart() retrieveCart() deleteCart()
CustomerCustomerInterfaceInterface
DepartmentDepartment
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
BuyBean EJBBuyBean EJB
Stateless Session BeanStateless Session Bean
Handles the Buying Activities done by the customers Handles the Buying Activities done by the customers of e-Bookstoreof e-Bookstore
Public MethodsPublic Methods processRequest()
Retrieves the contents of customer’s buying cart Displays those contents and Calculates Total Cost Queries CustomerDB to get Billing Information Creates BuyInfo XML Document Deletes customer’s buying cart
CustomerCustomerInterfaceInterface
DepartmentDepartment
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Sales DepartmentSales Department
Processes sales transaction done in theProcesses sales transaction done in theCustomer Interface DepartmentCustomer Interface Department
Component for Generation of Bill for a sales Component for Generation of Bill for a sales transactiontransaction BillingServiceBean : Stateless Session Bean
Component for Storage of Sales TransactionComponent for Storage of Sales Transactionand Creation of SalesInfo XML document for and Creation of SalesInfo XML document for Accounting DepartmentAccounting Department SalesInfoBean : Entity Bean
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
BillingServiceBean EJBBillingServiceBean EJB
Stateless Session BeanStateless Session Bean
Performs the credit card validation andPerforms the credit card validation andgeneration of bill for a sales transactiongeneration of bill for a sales transaction
Public MethodsPublic Methods createBill()
Parses the BuyInfo XML Document Verifies and charges the credit card Generates bill for given sales transaction
SalesSalesDepartmentDepartment
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
SalesInfoBean EJBSalesInfoBean EJB
Entity BeanEntity Bean Performs the storage of all information pertaining Performs the storage of all information pertaining
to a sales transactionto a sales transaction Public MethodsPublic Methods
storeSalesTransactionInfo() Parses the BuyInfo XML Document Updates SalesDB by storing this sales transaction Updates InventoryDB
createSalesInfoXML() Creates the SalesInfo XML Document containing all
information in SalesDB for Accounting Department
SalesSalesDepartmentDepartment
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Purchase DepartmentPurchase Department
Generates the Purchase Order and Processes Generates the Purchase Order and Processes Purchase Receipts received from suppliers.Purchase Receipts received from suppliers.
Component for Generation of Purchase OrderComponent for Generation of Purchase Order PurchaseOrderBean : Stateless Session Bean
Component for Storage of Purchase Receipt Component for Storage of Purchase Receipt Information and Creation of PurchaseInfo XML Information and Creation of PurchaseInfo XML document for Accounting Departmentdocument for Accounting Department PurchaseInfoBean : Entity Bean
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
PurchaseOrderBean EJBPurchaseOrderBean EJB
Stateless Session BeanStateless Session Bean
Performs the checking of Inventory databasePerforms the checking of Inventory databaseand generation of Purchase Order accordinglyand generation of Purchase Order accordingly
Public MethodsPublic Methods generatePurchaseOrder()
Queries Inventory Database Generates Purchase Order for purchase of
the items that are out of stock Creates Purchase Order XML Document
PurchasePurchaseDepartmentDepartment
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
PurchaseInfoBean EJBPurchaseInfoBean EJB
Entity BeanEntity Bean Performs the storage of all information pertaining Performs the storage of all information pertaining
to a purchase transactionto a purchase transaction Public MethodsPublic Methods
processPurchaseInfo() Parses the Purchase Receipt XML Document Updates PurchaseDB by storing this purchase transaction Updates InventoryDB
createPurchaseInfoXML() Creates the PurchaseInfo XML Document containing all
information in PurchaseDB for Accounting Department
PurchasePurchaseDepartmentDepartment
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Accounting DepartmentAccounting Department
Retrieves the information of sales and purchase Retrieves the information of sales and purchase transactions from the respective departmentstransactions from the respective departmentsand calculates & stores the total sales and purchase and calculates & stores the total sales and purchase done over a certain time period in AccountDBdone over a certain time period in AccountDB
Component for updating AccountDBComponent for updating AccountDB AccountingBean : Entity Bean
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
AccountingBean EJBAccountingBean EJB
Entity BeanEntity Bean
Stores the information pertaining to all salesStores the information pertaining to all salesand purchase transactions over a certain time and purchase transactions over a certain time period in AccountDBperiod in AccountDB
Public MethodsPublic Methods updateAccountInfo()
Parses the SalesInfo XML Document Parses the PurchaseInfo XML Document Updates AccountDB
AccountingAccountingDepartmentDepartment
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Interactions in Customer Interface DepartmentInteractions in Customer Interface Department
CustomerDB
BuyBean
CartBean
InventoryDB
XML DocBuy Info
XMLBean4.4 Create XML
Doc for Buy Info
2.1 Query for Book(s)
Enterprise
1.b.2 Queries CustomerDB
BillingServiceBean
NewCustomer
LoginCustomer
ItemQuery
SalesInfoBean
1.a.2 Updates CustomerDB
2.2 Queries InventoryDB
1.a.1 New Customer
1.b.1 Login
3.a.1 Add Item
3.b.1 Add Item3.b.2 Delete Item
3.c.1 Add Item3.c.2 Check cart
4.1 Buy Book(s)
4.2 Retrieve cart
4.6 Delete cart
4.3 Queries CustomerDB for Billing Info
4.5
Customer
SalesSalesDepartmentDepartment
Customer InterfaceCustomer InterfaceDepartmentDepartment
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Interactions in Sales DepartmentInteractions in Sales Department
SalesDB InventoryDB
XML DocBuy Info
XMLBean
3.2 Create XML Doc for Sales Info
BillingServiceBean
SalesInfoBean
3.3
2.1
AccountingBean
XML DocSales Info
1.1
1.3 Verify card1.4 Charge card1.5 Create Bill 1.2 Parse XML Doc
for Buy Info
2.4 Updates InventoryDB
2.2 Parse XMLDoc for Buy Info
2.3 Updates SalesDB
3.1 Queries SalesDB
EnterpriseCustomer InterfaceCustomer InterfaceDepartmentDepartment
SalesSalesDepartmentDepartment
AccountingAccountingDepartmentDepartment
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Interactions in Purchase DepartmentInteractions in Purchase Department
PurchaseDB
PurchaseOrderBean
PurchaseInfoBean
InventoryDB
Suppliers
XML DocPurchase Order
XML DocPurchase Receipt
1.1 Queries InventoryDB for checking stock
XML Bean
1.3 Create XML Docfor Purchase Order
1.2GeneratesPurchaseOrder
2.2 ParseXML Doc forPurchaseReceipt
Supplier receivesXML Doc for PO
Supplier sends XMLDoc for PurchaseReceipt
2.3 Updates PurchaseDB
1.42.1
XML DocPurchase Info
3.1 Queries PurchaseDB
3.2 CreateXML Docfor PurchaseInfo
3.3
AccountingBean
AccountingAccountingDepartmentDepartment
PurchasePurchaseDepartmentDepartment
Enterprise
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Interactions in Accounting DepartmentInteractions in Accounting Department
AccountDB
XML DocPurchase Info
XMLBean
AccountingBean
XML DocSales Info
1.1
1.4 Parse XML Doc for Purchase Info
1.2 Parse XML Doc for Sales Info
1.5 Updates AccountDB
1.3
EnterpriseAccountingAccountingDepartmentDepartment
PurchasePurchaseDepartmentDepartment
SalesSalesDepartmentDepartment
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
Conclusions and Future WorkConclusions and Future Work
Distributed computing technologies XML & EJB Distributed computing technologies XML & EJB were explored by developing an EAI solutionwere explored by developing an EAI solution
XML Documents can be created to incorporate XML Documents can be created to incorporate more than one level of hierarchymore than one level of hierarchy
Same EJBs can be reused for developing an EAI Same EJBs can be reused for developing an EAI solution for another enterprisesolution for another enterprise
Role-based SecurityRole-based Security
Atomic TransactionsAtomic Transactions
CSE300
EAIEAIusingusing
EJB & XMLEJB & XML
AskAsk