View
218
Download
0
Category
Preview:
Citation preview
bWise – EAI Framework
Anurodh SrivastavaShalin Shekhar MangarJSS Academy of Technical Education,Noida, India.
Enterprise Application Integration
● Enterprise application– Software specialized in a particular area
● Inventory● Financials● Supply Chain Management (SCM)● Customer Relationship Management (CRM)● Ecommerce● Sales Force Automation
– Vendors● SAP● Oracle● Peoplesoft
Enterprise Application Integration
● Business process/workflow– Smooth flow of data
● Inventory● Financials● Supply Chain Management (SCM)● Customer Relationship Management (CRM)● Ecommerce● Sales Force Automation
– Automation Vendors● Microsoft● IBM● Tibco
Enterprise Application Integration
● Challenges in automation– Communication
● Different input/output formats– Security
● Multiple authentication/authorization schemes– Management
● Multiple management/configuration
EAI Frameworks
● Components– Communication
● Enterprise Service Bus (ESB)● Message Oriented Middleware (MOM)
– Security● Support for multiple security schemes
– Management● Dependent on per application basis
Why bWise ?
● Prohibitive costs● Vendor dependence● Lack of interoperability● Platform dependence● Need for consultants
How bWise helps ?
● Prohibitive costs– Open Source & Free Software
● Vendor dependence– Community Ownership
● Lack of interoperability– Open Standards (see www.open-eai.org &
www.oasis-open.org)● Platform dependence
– Supports all platforms● Need for consultants
– Powerfull development tools
Design Problems
● Communication● Security● Platform Independence● Interoperability● Workflow description● High Throughput● Distributed Transactions● Management● Backup/Restore● Extensibility
Communication
● Synchronous vs. Asynchronous● Polled● Platform independent
– Document formats– Web Services
● Transformations● Correlation
Security
● Must support multiple schemes● Authentication● Authorization● Encrypted communication
Platform Independence
● Multiple Operating Systems– Linux– Unix– Windows
● Multiple programming languages– COBOL– C/C++– Java– .NET
Interoperability
● Applications● Competing tools● Formats● Languages
Workflow Description Format
● Choices– An entirely new format– XLANG (used by Microsoft)– WSFL (used by IBM, Tibco)– BPEL4WS
● Business Process Execution Language for Web Services● Emerging standard● Open (a w3c standard)● Endorsed by all vendors
High Throughput
● High volume of data● I/O maybe more expensive than processing● Multiple processes● Hundreds of process instances
Distributed Transactions
● Multiple business applications– Each containing multiple datastores
● A distributed transaction scheme– Coordinate a transaction between applications– Abstract commit/rollback support if available– Provide notification model– Error logging
Management
● Configuration– Logging– Notification– Messaging– Data Storage/Retrieval
● Monitoring– Per business process
● Present status● History
– Statistics● Throughput● Transactions
Backup/Restore
● Backup Scheme– Business process data dump– Transaction logs
● Restore Scheme– Crash recovery
Extensibility
● Ability to support future enhancements– Message transport mechanisms– Transformation mechanisms– Security schemes
Design Decisions
● Java– Advantages
● Platform independent● Tried and tested for server applications
– Downsides● I/O Performance
● XML– Advantages
● Platform neutral data format● Extensive support for interoperability
– Downsides● Extra Overhead in processing
Design Decisions
● Eclipse IDE– Advantages
● Mature platform● Lesser learning curve for new developers● Open Source
– Downsides● Increased development time
● XSD (XML Schema Document)– Advantages
● Platform neutral data description format (metadata)● Easier to work with than DTDs
Design Decisions
● Message Queues– Advantages
● Asynchronous processing● Guaranteed message delivery
● Correlation– Concept of envelopes
● Metadata tags● Aid in encryption/decryption
● Security– Enterprise Single Sign-on
● One username/password for multiple applications
Design Decisions
● Code Generation– BPEL4WS vs. Java Code– Java Code provides better performance– Added complexity in code generation from business
process models● Web Services
– Support for all platforms– Data format independent (uses XML)– Asynchronous mode– Apache Axis
Components of bWise
● Eclipse Development Tools (EDT)– Document Designer– Transformation Designer– Messaging Manager– Business Process Designer
● Process Execution Engine– Message Transport Agents (MTA)– Pipeline Processors– Verification & Correlation Manager– Authentication Manager– Process Co-ordinator
● Administrator Tools
Eclipse Development Tools (EDT)
● Document Designer– Analyzes documents– Generates XSD– Manipulate XSD
● Transformation Designer– Analyzes XSDs– Generates Mapping Code (XSLT or Java)
● Messaging Manager– Creation of Pipelines
● Business Process Designer– Visually draw process diagrams– Generate Code
Process Execution Engine
● Message Transport Agents (MTA)– I/O Mechanisms
● File● Web Services
● Pipeline Processors– Transformers (document, encryption/decryption)
● Verification & Correlation Manager● Authentication Manager
– Enterprise Single Sign-on services– Cryptographic Services
● Process Co-ordinator– Workflow execution engine
Administrator Tools
● View & manage server database● Install/Uninstall MTAs● View & manage transaction logs● Backup/Restore schemes● Monitor alert notifications● Performance statistics
Key Problem Areas● A formal model for static analysis of a business
process.● Code generation module for business process
diagrams.● Optimization of memory usage for business
processes containing long running transactions.● An efficient scheduling algorithm for monitoring
business process executions.● A publish-subscribe model (akin to event
dispatch model in java) for outcome notifications.
Future Directions
● Not just a final year project– Aims to be a stable open source software– Hopes to make a dent in EAI tools market.
● Future development directions– Support for more MTAs– Support for Legacy code (Screen Scraping)– Load Balancing– Segregation of components into independent
execution units
Thank You
Anurodh SrivastavaShalin Shekhar Mangar
JSS Academy of Technical Education,Noida, India.
Recommended