• No results found

Software Engineering and Technology Trends

N/A
N/A
Protected

Academic year: 2021

Share "Software Engineering and Technology Trends"

Copied!
30
0
0

Loading.... (view fulltext now)

Full text

(1)

IBM Industry Solution Lab, March 31, 2006

Software Engineering and

Technology Trends

Christopher Giblin

[email protected]

(2)

Overall Trends

§

Internet

– Constant change in usage and application styles

§

Open Source vs. Proprietary Development

– Legal issues associated with sw. dev. Becoming more prominent.

§

Agile vs. “Heavy” Methodology

– Finding a balance between flexibility and process.

§

Software will be in “everything”

§

Ongoing increasing reliance on computer systems

(3)

Overall Trends, continued

§

Inter-organizational interactions

– Internet is very much a business medium

§

Increasing system complexity

§

Virtualization of hardware, software, human organizations.

– Grid, Federated Identity

§

Information explosion

– Structured and unstructured information

– Need for analytics, mining

§

Increasing amount of regulatory compliance

– Sarbannes-Oxley

– Basel II

(4)

Overall Trends, continued

§

Security concerns: astronomical increase in your favorite metric:

– CERT incidents

– Vulnerabilities, worms

– Investment in recovery and prevention of security incidents

(5)

Fundamentals of Software

Engineering still valid

§ HW and SW purchase often represents 30% of total costs

– 50-70% of costs are operational

§ “Optimistic estimation is still one of the … most common causes for runaway projects.”

– J. Verner, W. Evanco

§ Quality

– much of downtime due to software errors, increasing operational costs

– Requirements gathering

– Rigor in development, testing reduce errors

§ Architecture and standards

– Leverage know-how

– reliability, extensibility, adaptivity

§ Re-use can lowers costs

– Models and patterns

– Product lines

– Asset-based repositories

– More expensive to develop re-usable code …

§ “Post-mortem reviews are important for process improvement.”

(6)

Eclipse is …

§

an open platform for tool integration.

§

a state-of-the art IDE supporting

extensible, multi-artifact development.

§

an immensely successful agile,

distributed, open source project.

§

the core of IBM WebSphere Studio.

§

“an independent open eco-system

(7)

Eclipse Plug-in Architecture

§

Plug-in – set of contributions

– smallest unit of Eclipse function

– Big example: HTML editor

– Small example: Action to calculate the number of lines of a Java file.

§

Extension point – named entity for collecting contributions

– Example: extension point to add additional preference pages

§

Extension - a contribution

– Example: specific HTML editor preference page

Plug-in

Platform

Plug-in

Extension Extension point

(8)

Example of extending Eclipse:

Business Process Modeling

(9)
(10)

Models

§

Model Assisted Development

– Modeling as analysis tool

– Models as documentation (Source Driven Modeling J

– No sync between targets and models (source and model diverge).

§

Model Driven Development (MDD)

– strives to automate the generation of software artifacts through extensive use of models

(11)

How do people use models?

“Let’s talk

models”

M

Model

only

“What’s a

Model?”

C

Code only

“The code

is the

model”

M

C

Code Viz.

vizualize

“Manage

code and

model”

M

C

RTE

synchronize

“The model

is the code”

M

C

Model-centric

generate

§

- Alan Brown

(12)

Model Driven Architecture (MDA)

§

An example of MDD.

§

A vision and framework defined by the OMG for generating implementations from models.

– Models abstract target software platform as high-level programming languages abstract target hardware platform.

– Successive transformations from PIM à PSM

§

“The three primary goals of MDA are portability, interoperability and

reusability through architectural separation of concerns.”

(13)

Business Process Engineering

Business Process Analysis Model

Business Process Design Model

Performance Simulation As-Is/To-Be comparison BPEL/WSDL Generation Customization Monitoring Legacy Integration iterative process of assisted transformation steps separation of concerns

(14)

The Cycle of Business Performance

Management closes the loop

Integrate

Transform

Manage

Monitor

Model Establish process modeling methodology

Create the As-Is Process Create the To-Be Process Build business measures

Communicate and verify business process model

Build the implementation model Model the user interfaces Build the object models Monitor the Processes

Monitor Key Performance Indicators Add corrective actions, automatic or manual Feed the model for ‘as-is’ cycle initiation

(15)

business models and the supporting IT

architecture

Flexible business

Transformation

Business process outsourcing Mergers, acquisitions & divestitures

Flexible IT

On Demand operating environment Requires Composable services (SOA) Composable processes (CBM) Component Business Modeling

Development Infrastructure Management

Service-Oriented Architecture (SOA)

Software

development Integration

Infrastructure management

(16)

Business & Financial Management/ Infrastructure Business Acquisition & Retention Policy Administration & Services Business Strategy Direct Control Operations Management And Planning Market and Promotion Planning Benefit Payments Claims Management Strategy Miscellaneous Payment Planning Investment/Capital Management Operations Management Controls Promotion Management Claims Litigation Competency Operational Levels Investment Strategy A Business Component is a part of

an enterprise that has the potential to operate autonomously, for

example, as a separate company, or as part of another company.

It offers services to its environment.

Columns are Business

Competencies, defined as large business areas with characteristic skills and capabilities, for example, product development or supply chain.

An Operational Level characterizes the

scope of decision making. The three

levels used in CBM are direct, control and execute.

§Direct is about strategy, overall direction and policy.

A component business map is a

tabular overview of a business

(17)

CBM is used successfully to manage

the complexity in business

transformation

Dimension 4 Consolidate hori-zontal functions Realise synergies along horizontal functions Dimension 3 Empower lines of business Realise synergies along lines of business Dimension 2 Decompose the Value Chain Realise synergies along core insurance

functions

HR, IT Infrastructure, Finance, Procurement, etc.

Line of Business Terri tory Fu nc tio ns

Policy & Claims Handling Policy & Claims Handling

Sales & Distribution Product House

Assets & Liabilities

HR, IT Infrastructure, Finance, Procurement, etc.

L if e C o m m e rc ia l L in e s P & C L in e s Dimension 1 Improve local shortcomings Specific performance-improvement projects HR, IT Infrastructure, Finance, Procurement, etc.

Line of Business Terri tory Fu nc tio ns HR, IT Infrastructure, Finance, Procurement, etc.

Line of Business Terri tory Fu nc tio ns

(18)

Pensions CBM

Business & Financial Management/ Infrastructure Manufacturing/ Product Development Relationship Management Business Acquisition

& Retention Risk Management

Policy Administration & Services Group Administration Business Strategy Direct Execute Control Operations Management And Planning Group Strategy Customer Relationship Strategy Reinsurance Strategy Market and Promotion Planning Benefit Payments Claims Management Strategy Miscellaneous Payment Planning Investment/Capital Management Procurement/ Vendor Management Correspondence Handling Illustrations Underwriting Decisioning Product Development Internal/External Product Education Correspondence Management Customer Management Underwriting Management AR / AP Financial Reporting and Controls (GL) Audit Human Resources Sales Support New Business Processing (Application) Processing Policy Changes Surrenders/ Maturities Payment Processing (Disbursements) Process Claim Operations Management Controls Account Management Product Management Internal/External Product Planning Risk, Compliance, Legal Management Promotion Management Producer Portfolio Analysis Billing Claims Litigation Enrollment & Eligibility Plan Sponsor Services Competency Operational Levels Investment Operations Risk Compliance, Legal Monitoring External Reporting Investment Strategy Customer Information Profile

(19)

SOMA combines business vision

with modern and legacy assets

Top-down: Business-driven process, event and variation analysis

Bottom-up: Leverage Legacy through understanding and transformation Business services linked

to business goals

IT components aligned with services and

orchestrated

IT components implemented with best-of-breed technology Model-driven:

“Let the tools do the walking”

(20)

Service-Oriented Architecture (SOA)

has several aspects

§ A modularity, encapsulation, loose coupling, separation of concerns, set of architectural principles that address characteristics such as

composable and single implementation.

§ An architectural style that requires a service provider, requestor and a

service description.

§ A programming model complete with standards, tools, methods and

technologies such as web services.

§ A set of business-aligned IT services that support an organization’s

business process goals and objectives … using interface-based service descriptions that decouple the provider and consumer through open

(21)

A Service-Oriented Architecture is

implemented using multiple tiers

Operational systems Service-oriented architecture Business process architecture Component-based architecture Presentation architecture Q o S m a n a g e m e n t & m o n it o ri n g In te g ra ti o n a rc h it e c tu re (S e rv ic e I n te g ra ti o n B u s ) Object-oriented CICS/COBOL CRM, ERP Business intelligence Business intelligence Process choreography Composite services Portlets Enterprise components

(22)
(23)

Outlook

§

Software everywhere

§

Increasing interdependence of software and business

§

Messaging gains in importance

– Business and audit events

– M2M

– Aggregation

§

Increasing role of models

§

Tons of data to transport, route and analyze

§

Importance of reliability, automation

§

"The fundamentals of software engineering never go out of style“

(24)
(25)

Aspects and Separation of

Concerns

§

Separation of concerns

– pursuit of any engineering discipline

§

Reduce inter-dependencies

– Strive to identify and preserve orthogonal relationships

§

“By abstracting concerns out and separating them,

programming individual concerns becomes substantially less

complex, and code can be effectively reused.”

(26)

Good modularity

(27)

Problems like…

§ logging in org.apache.tomcat

–red shows lines of code that handle logging

–not in just one place

–not even in a small number of places

(28)

Aspect-oriented Programming

§

Introduces the

crosscutting

modularity

– crosscutting is inherent in complex systems.

– capture crosscutting explicitly.

– an aspect is a modularized cross-cutting concern.

§

AOP proposed by Gregor Kiczales et al, Xerox PARC, 1997

Patents filed …

Created AspectJ to explore ideas

(29)

AOP introduces the notion of

“weaving”

§

The supported technique of

composing aspects with application code.

§

Compile time weaving

–AspectJ –Hyper/J

§

Load-time weaving –AspectWerkz

§

Run-time weaving –AspectWerkz –JAC –Lasagna

(30)

Extended Web Services

§

Combine flows of services

into business processes.

§

Support cross-organizational

processes.

§

Transactional

References

Related documents