bWise – EAI Framework

Download Report

Transcript bWise – EAI Framework

bWise – EAI Framework
Anurodh Srivastava
Shalin Shekhar Mangar
JSS 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
●
–
Security
●
–
Different input/output formats
Multiple authentication/authorization schemes
Management
●
Multiple management/configuration
EAI Frameworks
●
Components
–
Communication
●
●
–
Security
●
–
Enterprise Service Bus (ESB)
Message Oriented Middleware (MOM)
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
–
●
Vendor dependence
–
●
Open Standards (see www.open-eai.org &
www.oasis-open.org)
Platform dependence
–
●
Community Ownership
Lack of interoperability
–
●
Open Source & Free Software
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
●
●
–
Downsides
●
●
Platform independent
Tried and tested for server applications
I/O Performance
XML
–
Advantages
●
●
–
Platform neutral data format
Extensive support for interoperability
Downsides
●
Extra Overhead in processing
Design Decisions
●
Eclipse IDE
–
Advantages
●
●
●
–
Downsides
●
●
Mature platform
Lesser learning curve for new developers
Open Source
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
●
●
●
Correlation
–
Concept of envelopes
●
●
●
Asynchronous processing
Guaranteed message delivery
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)
–
–
–
–
●
Process Execution Engine
–
–
–
–
–
●
Document Designer
Transformation Designer
Messaging Manager
Business Process Designer
Message Transport Agents (MTA)
Pipeline Processors
Verification & Correlation Manager
Authentication Manager
Process Co-ordinator
Administrator Tools
Eclipse Development Tools (EDT)
●
Document Designer
–
–
–
●
Transformation Designer
–
–
●
Analyzes XSDs
Generates Mapping Code (XSLT or Java)
Messaging Manager
–
●
Analyzes documents
Generates XSD
Manipulate XSD
Creation of Pipelines
Business Process Designer
–
–
Visually draw process diagrams
Generate Code
Process Execution Engine
●
Message Transport Agents (MTA)
–
I/O Mechanisms
●
●
●
Pipeline Processors
–
●
●
Transformers (document, encryption/decryption)
Verification & Correlation Manager
Authentication Manager
–
–
●
File
Web Services
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 Srivastava
Shalin Shekhar Mangar
JSS Academy of Technical Education,
Noida, India.