2. • As the study of approaches for the application of a
systematic, disciplined,quantifiable approach to
the development, operation and maintenance of
software.(IEEE 1990)
• development of software
• operation of the software systems
• maintenance of software
2
4. • Waterfall-Requirement discipline is completed fully
before taking up design
• Incremental-Requirement and each of the other
disciplines are completed in an incremental manner
• Prototyping-Prototypes are typically developed to
establish the user needs
• Spiral-Prototype evolves into complete application
• Agile-Self organizing cross-functional teams.
4
5. • The practices of project management are applied
to a software engineering endeavour in the
context of a project in order to meet the
objectives of the client.
5
6. • Blueprint for a solution that satisfies the
requirements of a software application.
• IEEE definition
• As the fundamental organisation of a system ,
embodied in its components, their relationships
to each other and the environment, and the
principles governing its design and evolution.
6
7. • Software requirements
• 2 types of requirements
• functional - defines the functionality
• non functional - defines the attributes
• states the problem(in terms of needs and
constraints)
• s/w architecture fulfil the above.
7
10. • Satisfies the functional requirements
• Meets the non-functional requirements
• Allow for construction with available technologies
• Enables to achieve CTQ objectives(cost,time and
quality)
11. • Manage complexity
• Resolve concerns related to functional
requirements
• Lower impact due to change of business
requirements
• Provide foundation for designers to elaborate the
architecture
13. • Defines the structure required for the organisation
• Key Aspect is to focus on enterprise wide concerns
• CXO’s
• Model
• Business,Application,Information and Infrastructure
• Frameworks(Zachman’s,ADM,FEAF,TEAF,C4ISR)
13
14. • Business Architects(Business Analysts/Consultants)
• Blueprint for business concerns
• Developing a model based on
• business drivers
• business rules
• business process
• “AS-IS” and “TO-BE”
14
15. • Solution to the business problem that need to be
implemented by IT Systems
• Set of Business Requirements
• Non Functional Attributes are Addressed Properly
• Evaluates “Build vs Buy” options
• 3 Views(Conceptual,Logical and Physical View)
15
16. • Blueprint of the solution described in terms of the
technical elements
• Technical View(J2EE and .Net)
• Design Pattern
• No. of Variants
16
17. • Blueprint for Hardware,OS,Network and Security
concerns.
• Review the TA and focus on sizing and capacity
planning.
• Policies for application deployment and security
compliance.
17
19. • Architectural style
• services
• Unit of Functionality that exists autonomously and
whose access is through a defined interface.
• Coarse grained elements
• loosely coupled
19
24. • IT Infrastructure need to support the Business Needs
• Business
• Business Process Change
• Lower Cost Of Ownership
• Technology
• Application Modernisation
• Integration and Interoperability
24
25. • Reuse
• Concept of Services
• Integration
• ESB(better than HUB and Spoke)
• Agility(ability to change)
• External Definition of business process
25
26. • Services
• Reuse
• Coarse Grained
• Webservices
• Enterprise Service Bus(ESB)
• Mediator/Broker
• Provides Integration
• Orchestration
• Brings Agility to the enterprise
• WorkFlow is defined
26
27. • Standard Bodies
• W3C-XML and SOAP
• OASIS - WS-Transaction,WS-Reliability,etc..
• OMG- BPMN(Business Process)
• Future Trends
• Significant Improvement to meet the needs of
enterprise
27
28. • Software Engineering
• Software Architecture
• Types of IT Architecture
• SOA
• 3D of SOA
• Key Components Of SOA
28
29. “Organization consisting of one or more divisions that delivers value to its
stakeholders”
Why we need ?
• Goals of business
• Business process definition
• Alignment of IT
• Scalability of IT
• Management of change by governance
Dimension of services
(Reusability,Agility,Integration)
29
32. • Business Services(Activity or A services)
• Reusable Business level Services
• Business Process Services(B Services)
• Handle the Orchestration of Business Process
• Control the workflow
• Client Services(C Services)
• Front end
• web/mobile applications
• Data Services(D Services)
• Access to the data
• 2 types
• inside and outside enterprise
32
33. • Key feature is ESB
• It is the Heart of Communication between
applications
• Infrastructure layer
• Service Security
• Authentication and authorization
• Service Governance
33
34. • identification and development of 4 services
• implementation of integration layer
• implementation of infrastructure
34
36. • It Satisfy the information needs of an enterprise.
• Architectural Considerations:
1. Functional Requirements
• Use cases
2. Non Functional Requirements
• Performance,Scalability,Availability,Reliability and Security
3. Service Oriented Model Considerations
37. • Services exposed or consumed
• Granularity of services exposed
• Integration model for services exposed or consumed
• Business process model
• Enterprise data model
• Infrastructure.
38. • Corresponds to SA once FR,NFR and SMC
• Its the Key part of enterprise application development
life cycle
• 3 levels
• High level Architecture
• Baseline Architecture
• Detailed Architecture
39. • Architect & Customer
• Done before the requirements are gathered and
documented
• Mostly defined inside organisation
• Request for proposal(RFP)
• Level 0
40. • Conceptual View
• Abstracted Business model
• Logical View
• Structuring of main function
• Physical View
• Implementation components
41. • Level 1
• Architect & Designer
• Analyze the Use case
• Functional View(key functional elements)
• Technical View(technical elements)
• Implementation View
42. • Level 2(Designer & Developer)
• 4+1 Views
• Use case View
• Logical View
• Development View
• Process View
• Deployment View
43. • Enterprise application need H/W infrastructure and
S/W frame works to run
• S/W Platform provides this framework
• S/W Platform Supports multiple H/W Platforms
• Runtime environment or a Container
44. • 2 types of platform that support enterprise
applications
• Packaged Application Platforms
• Enterprise Application Platforms
47. • Alternative to Packaged Application Platform(PAP)
• Not all can be implemented by using PAP
• Custom development of enterprise applications
48. • Key Enterprise Application Platforms
1. Java Platform Enterprise Edition(Java EE)
2. .Net Microsoft Application platform(MSAP)
3. Customer Information Control System(CICS)
4. Common Object Broker Architecture(CORBA)
49. • Both Java EE and .Net Supports Distributed
Processing
• Application Server
• 11 best principles that can be applied in the
architecture of enterprise applications.
50. 1. Well Defined Application Layers
• Presentation Layer
• Business Layer
• Data Access Layer
51. 2. Closed Layer Architecture
3. Configurable plug-in points for screen navigation
and application business rules
4. Seperation of validation logic from business logic
5. Encapsulation of access to database
52. 6. Cache Data on the server and/or client for
improved performance
7. Failover and redundancy is used for high
availability and disaster recovery
8. Scalability options
9. Deployment of Application components in multiple
tiers
53. 10. Wrapping of calls to third party products and
components
11. Encapsulation of communication with external
applications
• Broker pattern
54. • Multi tier,Server centric applications
• 3 fundamental parts
1. Containers(web components,EJB,applets)
2. Components
3. Connectors(Providers integration)
55.
56. • Provides run time environment for the Components
• Basically provides several services to the
components
• eg Java Virtual Machine
57. • 4 types of container
1. Web Container
2. EJB Container
3. Applet Container
4. Application Client Container
60. • Foundation for a .Net Enterprise application
1. Windows Server family
2. Common Language Run-time
3. .Net Framework Libraries
4. Core Products(eg SQL Server)
61.
62. • Support for multiple languages(eg VB,C sharp)
• Convert into intermediate language(MSIL)
• Microsoft Intermediate Language
• MSIL to native code of the CPU by Just in time
Compiler
64. • Recall Service Oriented Model
Consideration(Chapter 5)
• Service Enablement
• Service Integration
• Service Orchestration
• Service Infrastructure
65. • Services exposed or consumed
• Granularity of services exposed
• Integration model for services exposed or consumed
• Business process model
• Enterprise data model
• Infrastructure
66. • Service Enablement
• Functionality as a service
• Service Layer
• Service Proxy
• Service Gateway
67. • Service Integration
• Integration between service provider and
consumer
• Enterprise Service Bus
• Service Adapter(communication to Non SO to
SOA)
68. • Service Orchestration
• orchestrate services exposed
• Orchestration Language
• Orchestration Engine
• Compensating Action
69. • Service Infrastructure
• Security check
• Authentication
• Unilateral one way
• Mutual two party
• Authorization
• User pull
• Server Pull
70. • Service Infrastructure
• Service Governance
• The Validation Pattern
• Design time
• The Management Pattern
• Run Time
71. • Application is build by combining multiple services
• eg : Portal , Logistics
• Either Aggregation or Orchestration of a stateful
sequence
72. • Identification of services
• Configurable mechanisms for composition of
services
• metadata repository
• Assembly of services
73. • Approach to implement the CA
• Implementation
• Configuration
• Composition
• Customization
74. • Model for building applications based on assembly of
service components
• Service Data Object(business data)
• Lives In Integration Layer(Key Aspect)
• module(basic artefact)
• SCA Domain
• declared imports or exports
Services can be
accessed remotely
eg:java objects,EJB
}
75. • Microsoft Platform
• endpoints
• mechanism for client to communicate with service
• Identified by address(where?)
• binding protocol(how?)
• Contract(what?)
76. • any class can be a service
• attributes to define service interface
• session oriented ,one/two interactions,RPC type
communication is Supported
• Need to specify binding and endpoints at the
development time.
77. • Considerations for SOM
• Patterns for SOA
• Composite Applications
• CA Development
• SOA Programming Models
• SCA
• WCF