The document discusses various topics related to deriving solutions for web applications, including object-oriented software engineering, modeling, measurement and estimation, design patterns, web applications, XML, software components, web services, and future trends. It covers modeling approaches like UML, metrics for estimation and quality evaluation, design patterns for common problems, standards for XML, components, and web services. It also discusses service-oriented architecture, SOAP, WSDL, UDDI, and packaging of reusable assets.
2. Introduction
Object Oriented Software Engineering
Modeling and System Specification
Software Measurement and Estimation
Design with Patterns
Web Application
XML
Software Components
Web Services
FutureTrends
Conclusion
Questions
3. Simple modeling is essential.
UML is used for software design.
ObjectOrientedAnalysis is intuitive approach
of Domain Analysis
Object Model is used in OOA
4.
5. Modeling is based on abstraction of world
phenomena
System specification notations:
UML State Machine Diagrams
UML Object Constraint Language (OCL)
TLA+ Notation
Problem Frames are used for specifying
problems
Goal-oriented requirements engineering
6. Two types of measurement:
1. Done before development to estimate the product duration
2. Done after development to evaluate the product quality
Use case points (UCP) method is used for effort
estimation
Cyclomatic Complexity is used to measure the
complexity of program’s conditional logic
Class cohesion can use Interface-based or Code-based
metrics
Coupling metrics could be high or low
Psychological Complexity could be measured by
Algorithmic Information Content (AIC) and Logical
Depth
7. Convenient solutions for software design
problems
Must be need-driven
In Broker method, a client object invokes
methods of a remote server object
Publisher-subscriber design pattern is used to
implement indirect communication
Other patterns include Command, Decorator,
State and Proxy patterns.
Concurrent Programming helps in easier
programming of reactive applications
Security with obscurity
8. Unlike traditional software, theWeb serves as
both development & user platform
A Web application is a system that utilizes
W3C standards & technologies to deliver
Web-specific resources to clients.
11. eXtensible Markup Language
Markups: Element, Entity reference, Comments,
Processing instructions, Marked sections,
Document type declarations
XML Schema provides the vocabulary to state
the rules of document production.
XPointer supports internal addressing.
XLink allows us to create and describe links
between resources.
XSL can translate XML documents that comply
with two different XML schemas.
12. Components are reusable pieces of software.
Component communicates with the rest of the
world only via its ports using events.
Two major component architectures are:
JavaBeans from Sun
ActiveX controls from Microsoft .
Computational reflection is a technique that
allows a system to maintain information about
itself (meta-information) and use this
information to change its behaviour (adapt).
Object serialization is used to extract the object
state.
13.
14. Simple Object Access
Protocol
XML based
Encoding format for
inter-application
communication
Document style and
RPC style
communication
Runs on HTTP etc.
<Header>
header blocks
</Header>
body blocks
attachment blocks
15. Service description can be
partitioned into parts
which describe :
individualWeb services
relationships between sets of
Web services
WSDL (Web Service
Definition Language)
describes individual web
services
WSDL Document can be
used to generate stub and
skeleton proxies which
interact with SOAP based
middleware
16. Discovery agency level connection is a
publish/find mechanism
Could be used at build-time or runtime
Universal Description, Discovery, and Integration
is an implementation of discovery agency
UDDI registry offers common repository for:
service providers to publish service information
service requestors inquire to find service information
UDDI defines structure, publish/inquire API for
registry
17. Apache eXtensible Interaction System
Web Service development toolkit
SOAP engine
Framework for constructing SOAP servers,
clients, gateways, etc.
It contains:
server that plugs into servlet engines
Java2WSDL
WSDL2Java
18. An OMG (Object Management Group) standard
Used to package digital artifacts
Guideline and recommendation of reusable
software assets:
structure
content
description
To increase reusability of software assets
Encourage consistent and standard packaging
19. Aspect Oriented Programming
OMG MDA
Autonomic Computing
Software-as-a-Service (SaaS)
End User Software Development
The Business of Software
20. XML is used for data representation onWeb
Reusable software components are beneficial
Service OrientedArchitecture involves client,
server and discovery agency
SOAP is XML based protocol for inter-
application object communication
WSDL is used forWeb service description
UDDI implements discovery agency
ApacheAxis is aWeb Service development
toolkit
Reusable Asset Specification is an OMG standard
for packaging digital artifacts
Notas del editor
OCL specifies contracts and constraintsTLA = Temporal logic of actions