Anforderungsmanagement - Opal

Download Report

Transcript Anforderungsmanagement - Opal

Mastering Unreasonable Deadlines with Oracle
APEX at the German Telecom Shops
Dietmar Aust / Opal Consulting
15.06.2008
Agenda
 Introducing Opal Consulting
 The customer
 Project AbiT
 The problem
 Choosing APEX
 The solution
 Project ShopDB
 Lessons learned
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 1
Introducing Opal Consulting
 Dipl.-Inform. Dietmar Aust, Freelance Consultant
 Master's Degree in Computer Science (MSCS)
 1997-2000: Consultant at Oracle Deutschland GmbH /
Düsseldorf
 Focus areas: PL/SQL, Oracle Reports, Oracle Forms, Oracle
Portal, PLSQL Web Toolkit (OWA)
 Seit 09/2000: Freelance Consultant
 Focus areas: Oracle Portal, Oracle Reports, Oracle Application
Express, Oracle Express Edition
 Activities
 http://daust.blogspot.com/
 http://forums.oracle.com/forums/forum.jspa?forumID=137 (APEX)
 http://forums.oracle.com/forums/forum.jspa?forumID=251 (XE)
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 2
T-Punkt Vertriebsgesellschaft mbH
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 3
T-Punkt Vertriebsgesellschaft mbH
 1986: The first shops are opened
 May 2004 : Founded as a subsidiary
of the Deutsche Telekom
 The T-Punkt Vertriebsgesellschaft
is the only stationary distribution
channel for the Deutsche Telekom
in Germany
 Handling of 60 million private customers and over 2.5 million
business customers
 Around 800 shops servicing customers on over 90,000 qm sales
area.
 More than 6000 employees
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 4
Project AbiT
The problem – Background information
 The salaries of the employees have a fixed and a variable
component, based on their sales success
 Direct usage of the order management systems of the coroprate
divisions (T-Com, T-Mobile)
 The TPG gets compensated only for successful orders (credit
rating, technical issues), but their employees not.
 The gross sales revenue is relevant (agreement with labor
union), but only the net revenue is transferred by the divisions
 No realtime measuring of actual sales possible (no current
figures for strategic decisions)
 Workarounds
 Usage of tally sheets
 Usage of barcode scanners (40, 68, 90 scan codes) for counting
the sales
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 5
Project AbiT
The problem – Requirements
 Management decision
 Agreement with labor union
 Time for design, implementation and pilot phase: 6 weeks!
 Severe financial impact in case of failure (130% compensation for all
employees)
 Requirements
 Build an order entry system for around 5.000 employees
 Highly available (7 days per week, 07:00 – 22:00)
 Simplify the process of counting the gross sales (variable compensation)
− Audit proof
 Enable real time monitoring of actual sales
 Document discounted hardware sales (bundle security)
− Compliance with state regulations
 Four interfaces with existing systems (products, user accounts, shop
information, actual sales)
 Changing requirements until very late in the project
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 6
Project AbiT
Choosing APEX
 Why was APEX chosen?
 They didn‘t know about APEX
 J2EE was the preferred platform to implement web based
solutions
 The deadline was too tight, the usual contractors couldn‘t deliver
in that timeframe
 Opal Consulting was chosen based on a recommendation
 Thus: no technology discussion, just „do it“
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 7
Project AbiT
Mod_plsql
http
http
Sql*net
http
Sql*net
http
Clients
Mod_plsql
AbiT - Platform
The solution – Technical architecture
Hardware Load Balancer
Oracle RAC 10.2
Application Server
 Application Server (2):
 Fujitsu Siemens RX 300 S2, 2 HT CPUs, 8GB RAM, Linux RH AS4
 Oracle Internet Application Server 10.1.3
 Database (2 node RAC):
 Sun Fire V490 Server, 2 Dual Core CPUs, 8GB RAM, Solaris 10
 Oracle 10.2, APEX 2.2.1
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 8
Project AbiT
The solution - Performance and usage
 Usage
 3.500 users active per day
 ~ 25.000 orders per day
 400.000 hits per day
 Utilization
 Application Server:
− >95% idle
− #http Sessions: 30
 Database Server
− 30% (70% with only one node running)
− Sessions: 25-35 concurrent (per node)
− Dedicated, no Shared Server (MTS)
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 9
Project AbiT
The solution
 Live demo
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 10
Project AbiT
Next steps
 It was planned as a temporary solution from the start
 Now online since 10/2006
 The application will replaced by other systems in several steps
 Direct interfaces will be established to transfer the required
information directly from the divisions
 => the employees will have to enter the order only once
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 11
Project ShopDB
The problem
 Deutsche Telekom long term goals
 Expansion strategy of new shops crucial
 Missing the expansion target in 2006
 Number of newly opened shops too low
 Analysis showed major deficits
 No clear definition of tasks and responsibilites
 Lack of transparency, current state of processes
 Lack of communication, some tasks performed in parallel
by different teams
 Time to open a shop too long
 No central information system, wrong addresses
 New rollout process was designed by external consultants
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 12
Project ShopDB
Requirements
 Implement a central shop database as a single „source of truth“
 Consolidation and unification of different datasources
 Data consistency
 Implement the new rollout process, based on a workflow engine
 Clear responsibilites, deadlines per task
 Read- / write access to be controlled via user roles
 Automatic validation (geocoding) of each address to eliminate
typos
 Visualization of maps (shops and market information)
 Purchasing power, age distribution, competition
 Process monitoring and historicization of modified data
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 13
Project ShopDB
Challenges
 The project plan was extremely ambitious
 Project kick off in April 2007 (customer analyzes requirements)
 First involvement in the middle of April
 First prototype in May
 Going live on 13.06.2007 (Version 0.6)
 Going live on 10.08.2007 (Version 1.0)
 Existing MS Access applications
 Couldn‘t migrate everything in one step => stepwise migration
 The application was changed until late in the project (new columns/data)
 Minimize downtime of the MS Access application
 The data model had to be redesigned
 Many details of the requirements were unclear
 => extremely iterative approach with weekly prototypes
 Show stuff early
 Get them involved
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 14
Project ShopDB
Choosing APEX
 APEX was already established through the AbiT project
 Short development cycles
 Performant application platform
 No additional complex setup needed, just install another
application on the same infrastructure
 Project team
 Two developers
 One project manager
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 15
Project ShopDB
Mod_plsql
http
http
Sql*net
http
Sql*net
http
Clients
Mod_plsql
AbiT - Plattform
The solution – technical infrastructure
Hardware Load Balancer
Geo-Komponenten
Application Server
Oracle RAC 10.2
http
http
ODBC /
Sql*net
Map visualization
Geocoding
MS Access Clients
Geo / Application Server
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 16
Project ShopDB
The solution – MS Access migration
 Problems:
 Who builds these applications?
− MS Access power users, no true developers
 Column names >30 chars and special characters used
 Direct migration of the data model not sensible
 Changing the data and data model until very late in the project
 Short downtime
 => Solution:
 Normalizing the table and column names with a VBA script
 Database link from Oracle to MS Access (any ODBC data source)
 ETL process to migration the data from MS Access to Oracle
 Layer of views in Oracle
 Linking the views via ODBC and creating views in MS Access
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 17
S&A9B_OUTLETVORSCHLAG_AUFNEHMEN_TPP
Outletvorschlag aufnehmen (Partner)
(Key Account Manager)
Project ShopDB
The solution – Workflow
Standort auf
Suchliste?
2:NEIN
S&A10_STANDORT_ABSTIMMEN
Standort abstimmen
(Standortplaner)
17
1:JA
P&E0B_ANSTOSS_UNTERLAGEN_TPP
Anstoss zur Erstellung der
Prüfungsunterlagen (Partner)
(Standortplaner)
3
P&E1_EINHOLUNG_SICHTPRUEF
UNG
Einholung Sichtprüfung
(Standortmanager)
4
5
P&E3_STANDORTEXPOSE
Standortexpose erstellen
(Standortplaner)
14
P&E4B_ABSATZPROGNOSE_TPP
Absatzprognose erstellen
(ZVS)
6
9
8
P&E2_EINHOLUNG_MACHBARKEI
T
Einholung Machbarkeitsstudie
(Standortmanager)
7
P&E4C_ABSATZPROGNOSE_TPP
Einholung partnerspez. Kosten und
Absatzprognose
(Key Account Manager)
15
P&E4D_PROGNOSEN_KONSOLIDIEREN_TP
P
Zusammenführung Absatzprognosen
(Key Account Manager)
16
P&E5_SAMMLUNG_BEWERTUNG
Sammlung Daten und Bewertung
Absatzprognose
(Standortplaner)
10
P&E6_BC_BEWERTUNG_ABSATZ
Erstellung BC und qual. Bewertung
Absatzprognose
(Controlling)
11
P&E7_GF_VORLAGE
Erstellung GF-Vorlage
(Standortplaner)
12
P&E8_EINREICHUNG_GF_VORLAGE
Einreichung GF-Vorlage in Umlaufverfahren
(Standortplaner)
13
P&E9_FEEDBACK_GF_GO
Feedback GF go
(Standortplaner)
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 18
Project ShopDB
The solution – Workflow
Open Source pl/sql Workflow Engine
 http://plflow.sourceforge.net/
 XPDL 1.0 compliant, no import/export
of processes
 Creation of processes via
table inserts
 No UI, just backend framework
 Easy to integrate and stable
 Process visualization possible
using Graphviz
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 19
Project ShopDB
The solution – Workflow
Role based tasklist
Email notifications
 New tasks
 Overdue tasks
 Embedded links to the task / shop
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 20
Project ShopDB
The solution – Workflow
Status information
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 21
Project ShopDB
The solution – Geocoding of addresses
Goals
 Unambiguous spelling of addresses
− No more typos!
 Usage of coordinates
− Make sure a certain distance
between shops
Software
 JCoder Business (infas Geodaten)
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 22
Project ShopDB
The solution – Workflow
Visualization
 Addresses / shops
 Layers of information
Software
 MapSuite (infoware)
 Market data (infas Geodaten)
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 23
Project ShopDB
The solution
Live demo
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 24
Project ShopDB
Next steps
 Implement more processes to support the full lifecylcle of a shop
 More processes after the decision to open the shop
 Implement remaining functionality of the MS Access application
 Establish the ShopDB as the leading system for all shop
relevant information in the TPG
 Tenacy agreements
 Monitoring the costs
 Cutting down costs
 Reclaim accounting differences from the service provider
 Current release went production on 12.06.2008
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 25
Lessons learned
Major benefits of APEX
 Leverage existing Oracle skills !!!
 Developers can become productive very fast
 No steep learning curve
 Good separation from business logic and the UI (themes and
templates)
 Rapidly incorporate design changes, very flexible
 Changed requirements until late in the project
 Excellent tool for RAD or agile development
 Strongly iterative approach (weekly prototyping) delivers very
high customer satisfaction
 Get them involved!
 Oracle heterogenous services are cool!
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 26
Q&A
 Contact:
 Opal-Consulting Dietmar Aust
 Web: http://www.opal-consulting.de
 Blog: http://daust.blogspot.com/
 E-Mail: [email protected]
ODTUG Kaleidoscope 2008
Dietmar Aust
Page 27