18
Copyright © 2010 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. FP Sizing of SOA applications made easy! Shalini Thulasi (CFPS) Email:[email protected]

FP Sizing of SOA applications made easy! - IFPUG Thulasi... · FP Sizing of SOA applications made easy! ... DataPower (ESB) GUI ... XA Transaction Excel Channels Call Center IVR Web1

  • Upload
    lynhan

  • View
    231

  • Download
    6

Embed Size (px)

Citation preview

Copyright © 2010 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture.

FP Sizing of SOA applications made easy!

Shalini Thulasi (CFPS)

Email:[email protected]

Copyright © 2010 Accenture All Rights Reserved. 2

• Analyze available solutions and it’s problems for

Service Oriented Architecture based applications

• To provide recommended approach and guidelines

based on my counting experience

– For Front End applications

– For Middleware applications

– For Back End applications

– General Hints

Objectives

Copyright © 2010 Accenture All Rights Reserved. 3

Agenda

• SOA concepts

• Challenges

• Available solutions

• Recommended Approach and Guidelines

– Front End

– Middleware

– Back End

– General Hints

• Conclusion

• References

• Questions

Copyright © 2010 Accenture All Rights Reserved. 4

What is SOA?

SOA deals with the Service Orientation through

contracts. It also deals with modularity, layering, loose

coupling, reusability etc.

Moreover an SOA based application (one needs to

think as a collection of applications) might deal with the

usage of lot of technologies at different layers.

Here, applications will be highly distributed across

different layers. It may consist of Front Ends/Channels,

Middleware, Back End Engines and Data Base.

Copyright © 2010 Accenture All Rights Reserved. 5

SOA – Concepts

cntd….

Hardware

Operating

System

Apps/

Data

Copyright © 2010 Accenture All Rights Reserved. 6

Challenges while

measuring the functional

size of SOA based

applications

• How to consider loosely coupled software services that supports business processes and its users?

• How to consider the independent web services that are highly encapsulated?

• How to draw a proper boundary for a highly distributed application that spans across different layers? Is it similar to traditional monolithic application or not?

• Who is user here?

• How to effectively segregate common functionality among diversified applications?

• How to consider the separate development teams accountable for each application because of which extensive SME interaction will be required?

• No guidelines from IFPUG for sizing relatively newer technologies!

• If plain IFPUG rules are followed, less FP is generated which can be Clients and Vendors major concern when it comes to productivity!

• How can business leverage the investment done for SOA?

• Even though FP is not limited to any technology – in fact independent of any technology, counters end up facing different technological challenges (SOAP, WSDL, HTTP, XML etc).

Copyright © 2010 Accenture All Rights Reserved. 7

Analyzing Available

Solutions

• Considering old monolithic approach which draws a

single boundary around all these applications as they

together constitute user requirements

• But notice that, here we loose a lot of user transactions

which transfers data to and from each of these

applications.

• At the same time, user identifies each application as

each provides a particular answer to the business

problem.

Copyright © 2010 Accenture All Rights Reserved. 8

Recommended

Approach and

Guidelines

Database(Oracle 10gR2 RAC)

DataPower (ESB)

GUI

Java App 3 Java App 4 Java App 2 Java App 1

WAN and VPN Internet (GSLB)

XML/HTTP(S)

Raw TCP/IP

SOAP/HTTPS MQ / WAN

SOAP SOAP SOAP &

mSSL/SOAP mSSL/SOAP

Web

Middleware A Middleware B

ORACLE

(Streams)

ORACLE

(RAC)

PP

struts

Internet

SOAP

Web

AMB (Veritas)

100 MQ queues

JBoss

Portal

SOAP

Central

Logger

ORACLE

MQ

Services

XA Transaction

Excel

Channels

Web2 IVR Call Center Web1

Services Services Services

B2B

Java App 6

Services

Java App 5

Services

Copyright © 2010 Accenture All Rights Reserved. 9

Recommended

Approach – Front End

Apps

• Consider all maintenance and display requests as

EO/EQ’s. Here note that maintenance requests are not

considered as EI’s as no ILF will be maintained within

the boundary and requests are sent to back end. But if

separate logical file is getting maintained, we can

consider EI’s.

• Consider all ILF’s which are getting maintained within

the application say reference data etc. Also consider all

the EIF’s referred from other applications.

Copyright © 2010 Accenture All Rights Reserved. 10

Recommended

Approach - Middle ware

• Mainly transformation and routing of messages

happen to another application. Hence consider

all transactions as EO/EQ’s based on the

primary intent. Primarily EO’s as lot of

transformations will be happened by

middleware pieces.

• But some middleware’s may be doing more

than routing as extensive business validations

may be additionally performed.

Copyright © 2010 Accenture All Rights Reserved. 11

Recommended

Approach - Middle ware

cntd..

• Count an ILF only if any data is getting maintained – say messages logged for usage by business user or reference data etc

• Distinctively count all user identifiable transactions if DET, FTR or processing logic changes

• Count all broker applications that sit in between other apps for interfacing if they are all user identifiable

Copyright © 2010 Accenture All Rights Reserved. 12

Recommended

Approach - Back End

Apps

• Mostly no UI or direct end user transactions. These

applications will have the actual ownership of DB layer.

Hence give credit for ILF’s and EI’s.

• Additionally, count EO/EQ for sending data outside the

boundary depending upon the primary intent

• If one application is caching in all data that belongs to

the other application, still count all as ILF and EI even if

it’s duplicate from other BE apps. Here, data for this

particular application may be getting maintained via

notifications from other apps when they get updated.

Copyright © 2010 Accenture All Rights Reserved. 13

Recommended

Approach - Back End

Apps cntd..

• What we need to see here is the users view, that this application provides a snapshot view of the entire BE apps and hence can distinct identity.

• If any BE app is having its own specific UI (mostly admin functionality to maintain reference data), count this functionality together.

• Consider all exposed services as EI/EO/EQ’s based on the primary intent. Since all data functions are maintained here, count all ILFs.

Copyright © 2010 Accenture All Rights Reserved. 14

Recommended

Approach – General

Hints

• Ensure not to count various frameworks which

will be commonly used by all these applications

such as caching, exception, logging etc as

these are technical requirements

• Always ensure to document the approach

followed for future reference or clarification

Copyright © 2010 Accenture All Rights Reserved. 15

Recommended

Approach - No Shared

data concept

• Responsibility is shared by all interacting

applications

• Each application is considered to be having

separate boundary

• Counted separately based upon the user’s view

of the business functionality.

Copyright © 2010 Accenture All Rights Reserved. 16

Conclusion

• Benefits of performing function point sizing on an SOA based application are:

– Helps to measure the software to support quality and productivity analysis

– Also used to estimate cost and resources required for software development and maintenance

• An FP Analyst needs to understand that business has invested huge chunks of money:

– To make use of newer technology to keep business up and running 24x7x365

– Each application has it’s own set of requirements identified by business

– For easier maintenance of each application

– Ultimately Value for Money!

Copyright © 2010 Accenture All Rights Reserved. 17

References

• IFPUG BB -

http://www.ifpug.org/discus/messages/1778/11

119.html

• IFPUG Manual 4.2

Copyright © 2010 Accenture All Rights Reserved. 18