AIG - RTC Dublin

Dec 7, 2006 - AIG RTC Dublin - Small Business Solution ... Administration Version — ... The present document is my final six-month internship report which took ..... Bugzilla deployment and DB management in AIG . ..... AIG was founded in 1919 in Shanghai by an American entrepreneur, ...... DOWNLOAD DAILY RAPP'S.
2MB taille 84 téléchargements 1585 vues
Mémoire de fin d’études esiea AIG RTC Dublin - Small Business Solution Assistant de Manager de projet – Project Manager assistant

Konrad Florczak [email protected] — Administration Version — Tél: +353-1-2055820 Fax: +353-1-2837790

Mr Mr Ms Ms

Defense Jury Peter Wilson President Claudius Masuch AIG Supervisor Imelda Chantomaud ESIEA Supervisor Odile Smadja Australie Mag

Defended January 26th 2007 at 10am

3

Synopsis

English The present document is my final six-month internship report which took place at AIG Regional Technology Center in Dublin from July 2006 to January 2007, under the supervision of Claudius Masuch. As part of the AIU strategy to increase sales in the SME market segment worldwide, the Small Business Solutions (SBS) Profit Centre in Ireland was established to develop and service package products using the AIGeXtra system. The aim of my work placement was to be involved in the development and production support of this SBS10 UK project. After a short description of AIG, the subsidiary department I was working in and my role within the SBS10 team, the report presents the overall server infrastructure we were working on, including the specific middleware we had, named Websphere, and the brand new type of programming tool called PegaRules we disposed of. Then it outlines the type of tasks I was asked to do and how I dealt with them, depending on the context and the deadline I had, followed by the related knowledge and IT experience I acquired during my Dublin work placement. It also contains extra technical documentation I wrote for those who want to have a closer look at what I did during those last six months. Finally it describes the cross cultural aspects of the internship and personal thoughts about the role of an engineer in terms of required skills and perspectives in big international companies such as AIG. I also tried to highlight my ESIEA curriculum and to show how this University was a major key to my success abroad and to my future Master of International Business in Sydney.

Français Le document constitue mon mémoire de fin d’étude ESIEA. Il rapporte l’experience que j’ai eu à Dublin entre Juin 2006 et Janvier 2007 lorsque je travaillais, sous la direction de Claudius Masuch, comme stagiaire pour AIG Regional Technology Center. La stratégie d’AIU est d’augmenter ses parts de marchés dans la vente de produits d’assurances pour les PME. La société, leader mondial de l’assurance, a donc décidé de lancer le projet SBS (Solutions pour petits business). Établi en Irlande, il est sensé développer la suite de produits d’assurance en dix packages en utilisant le system AIGeXtra. Le but de mon stage était de faire partie de cette équipe SBS10 et de jouer un rôle actif dans la phase de développement du produit et par la suite dans la phase de support du produit. Après une présentation de la maison mère AIG, du service dans lequel je travaillais ainsi que ma position au sein de l’équipe, une présentation exhaustive de l’infrastructure informatique est Mémoire de fin d’études

Konrad Florczak

4 proposée, sans oublier le middleware que nous utilisions, à savoir Websphere, ainsi que le tout nouveau type de langage de programmation utilisé nommé PegaRules dont nous disposions. Il s’en suit une description détaillée des différents tâches que l’on m’a affect et mes solutions apportées, en fonction des contraintes temporelles et selon le contexte d’application. Sans oublier bien sûr l’expérience et les nouvelles connaissances que j’ai pu en tirer. Des documentations techniques ont par ailleurs été ajoutées, disponible à la fin du rapport, pour ceux qui veulent connaitre plus en détails les différents étapes de conception des outils que j’ai réalisé. Enfin le document comporte une réflexion sur le rôle de l’ingénieur dans un nouveau monde globalisé ainsi que ses possibilités d’évolution et ses qualités requises dans des grandes entreprises telles qu’AIG. J’ai aussi voulu souligner l’apport de l’ESIEA dans mon expérience à l’étranger, de par sa formation et des opportunités qu’elle propose aux élèves voulant se diriger vers une carrière internationale spécialisé en Business International.

[email protected]

AIG–RTC Dublin

5

Acknowledgements

It is my greatest pleasure to warmly thank Claudius Masuch – my AIG internship supervisor – for his trust, for the freedom of work he gave me, and for the atmosphere he creates in our team. The support he brought during this work, let it be technical, moral, or material, has been extremely appreciable. Thank you for your confidence, Claudius. The second person I want to warmly thank is Robert Burts – the SBS10UK project manager – for accepting me in his team so rapidly after he received my application. His sense of humour and his managing skills were undoubtedly one of the reason why I felt comfortable and why I was quickly accepted in our team. I cannot forget Brian Cahill, who allowed Claudius Masuch to attend to my presentation. It is also an opportunity to thanks all SBS10 workmates for their kindness and their pleasure to share their foreign experience including. – the so Spanish Belen Caballo, for cheering me up all the time, – the so Indian Muralikrishna Potnuru &Nirant Chikate, for their advices on PRPC and SQL queries, – and the so Czech Barbora Libovicka, who still thinks I am nothing else but a lazy b. To finish, I cannot omit all guys from the SSS, the Secret Smoking Society, where I spent a lot of time building up my lungs’ tar highway.

Mémoire de fin d’études

Konrad Florczak

6

[email protected]

AIG–RTC Dublin

Contents

Synopsis English . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . French . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 3 3

Acknowledgements

5

English Contents

8

French Contents

11

List of Figures and Tables

11

I

13

AIG

1 American International Group, Inc. 1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15 15 15

2 AIG RTC Dublin 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Regional IT organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17 17 18

3 AIU Dublin PEGA & AIU Dublin SBS10 teams 3.1 SBS10 Project . . . . . . . . . . . . . . . . . . . . 3.1.1 Description . . . . . . . . . . . . . . . . . . 3.1.2 Development . . . . . . . . . . . . . . . . . 3.1.3 Project Timeline . . . . . . . . . . . . . . . 3.2 Team . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 My position . . . . . . . . . . . . . . . . . . . . . .

19 19 19 19 20 20 20

II

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

Technical Aspects

4 Hardware 4.1 Servers . . . . . . 4.1.1 Overview 4.2 Websphere . . . . 4.3 Useful Websphere 4.3.1 Nodes . .

. . . . . . . . . . . . . . . features . . . . .

23 . . . . . . for . .

. . . . . . . . . . . . SBS10 . . . .

. . . . .

. . . . . 7

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

25 25 25 26 27 27

8

CONTENTS . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

27 27 27 28 28

5 Area of Knowledge 5.1 Bugzilla Box . . . . . . . . . . . . . . . . . . . . 5.1.1 Simple Bugzilla . . . . . . . . . . . . . . . 5.1.2 New features added . . . . . . . . . . . . 5.1.3 Knowledge transfer . . . . . . . . . . . . . 5.2 Scripting . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Batch . . . . . . . . . . . . . . . . . . . . 5.2.2 Perl . . . . . . . . . . . . . . . . . . . . . 5.2.3 Mixed scripts SQL-Batch-Perl . . . . . . . 5.3 Pega & Websphere . . . . . . . . . . . . . . . . . 5.3.1 Applying new releases into servers . . . . 5.3.2 Websphere and Pega XML Configuration 5.3.3 Logs . . . . . . . . . . . . . . . . . . . . . 5.3.4 Oracle database . . . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

29 29 29 29 31 31 31 31 31 32 32 33 33 34

4.4

III

4.3.2 Web-based administration console 4.3.3 Embedded HTTP server . . . . . . 4.3.4 Configuration Repository(XML) . 4.3.5 SBS10 Websphere configuration . . PegaRules . . . . . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

Human Aspects

6 Cross Cultural internship 6.1 Myself . . . . . . . . . . . . 6.2 Dublin an international city 6.3 At home . . . . . . . . . . . 6.4 At work . . . . . . . . . . .

35 . . . .

37 37 37 37 37

7 Trainee Engineer 7.1 Role of an engineer within a project . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Different meaning in different countries . . . . . . . . . . . . . . . . . . . . 7.1.2 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39 39 39 39

8 Where I go from here 8.1 Studies at ESIEA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Link to the Master of International Business in Syndey . . . . . . . . . . . . . . . .

41 41 41

References

44

IV

45

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

Appendix

Technical Documentations Bugzilla deployment and DB management in AIG . . . . . . . . . . . . . . . . . . . . . How to create an SBS User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PRPC Rulesset Deployement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47 47 57 68

Assessment of performance engineer-in-training

79

Scripts .1 A Perl script with regular expressions . . . . . . . . . . . . . . . . . . . . . . . . . .2 Batch script to Backup Bugzilla . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

81 81 81

[email protected]

AIG–RTC Dublin

Table des matières

Résumé Anglais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Français . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 3 3

Remerciements

5

Table des matières en Anglais

8

Table des matières en Français

11

Table des figures et tables

11

I

13

AIG

1 American International Group, Inc. 1.1 La société aujourd’hui . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15 15 15

2 AIG RTC Dublin 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Organisation Régionale IT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17 17 18

3 Équipes AIU Dublin PEGA & 3.1 Le projet SBS10 . . . . . . . 3.1.1 Description . . . . . . 3.1.2 Developpement . . . . 3.1.3 Phases du Projet . . . 3.2 L’équipe . . . . . . . . . . . . 3.3 Mon Statut . . . . . . . . . .

19 19 19 19 20 20 20

II

AIU Dublin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

SBS10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

Acquis techniques

4 Infrastructure 4.1 Serveurs . . . . . . . 4.1.1 Généralités . 4.2 Websphere . . . . . . 4.3 Fonctionnalités utiles 4.3.1 Nodes . . . .

23 . . . . . . . . . pour . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . le projet SBS10 . . . . . . . . . . 9

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

25 25 25 26 27 27

4.4

4.3.2 Web-based administration console . . . . . . . 4.3.3 Server HTTP embarqué . . . . . . . . . . . . . 4.3.4 Répertoire de configuration XML . . . . . . . . 4.3.5 Configuration Websphere pour le projet SBS10 PegaRules . . . . . . . . . . . . . . . . . . . . . . . . .

5 Rayon de connaissance 5.1 Bugzilla Box . . . . . . . . . . . . . . . . . . . . 5.1.1 Simple Bugzilla . . . . . . . . . . . . . . . 5.1.2 New features added . . . . . . . . . . . . 5.1.3 Transmission de connaissances . . . . . . 5.2 Création de Scripts . . . . . . . . . . . . . . . . . 5.2.1 Batch . . . . . . . . . . . . . . . . . . . . 5.2.2 Perl . . . . . . . . . . . . . . . . . . . . . 5.2.3 Mixed scripts SQL-Batch-Perl . . . . . . . 5.3 Pega & Websphere . . . . . . . . . . . . . . . . . 5.3.1 Applying new releases into servers . . . . 5.3.2 Websphere and Pega XML Configuration 5.3.3 Logs . . . . . . . . . . . . . . . . . . . . . 5.3.4 Oracle database . . . . . . . . . . . . . .

III

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

27 27 27 28 28

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

29 29 29 29 31 31 31 31 31 32 32 33 33 34

Aspects Humains

6 Environment Multiculturel 6.1 Moi-même . . . . . . . . . . . 6.2 Dublin, une ville international 6.3 À la maison . . . . . . . . . . 6.4 Sur le lieu de travail . . . . .

35 . . . .

37 37 37 37 37

7 Ingénieur en devenir 7.1 Rôle d’un ingénieur dans un project . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Définition différente selon les pays . . . . . . . . . . . . . . . . . . . . . . . 7.1.2 Qualités requises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39 39 39 39

8 Tramplin pour l’avenir 8.1 Apports de mes études à l’ESIEA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Tramplin pour le Master de Business International à Sydney . . . . . . . . . . . .

41 41 41

Bibliographie

44

IV

45

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

Annexes

Documentations Technique Deployement d’une Bugzilla avec gestion de base de données chez AIG . . . . . . . . . . Comment créer un utilisateur SBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deployement d’une nouvelle version du logiciel sur PRPC . . . . . . . . . . . . . . . . .

47 47 57 68

Feuille d’évolution de stage de fin d’étude

79

10

TABLE DES MATIÈRES

11

Scripts .1 Exemple d’un script Perl avec expression régulières . . . . . . . . . . . . . . . . . . .2 Script en batch pour sauvegarder Bugzilla . . . . . . . . . . . . . . . . . . . . . . .

81 81 81

List of Figures

2.1

AIG RTC Dublin Office . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.1 3.2

Hierarchy within SBS10 team . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . My desk with Bugzilla box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20 21

4.1 4.2 4.3 4.4

AIG Pega hosting infrastructure [3] . . . . Diagram of Websphere Application Server single node WebSphere architecture . . . . SBS10 Environments . . . . . . . . . . . .

. . . .

25 26 27 28

5.1 5.2 5.3

Bugzilla Box user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deployment steps for a new release . . . . . . . . . . . . . . . . . . . . . . . . . . . Oracle Schema I worked on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30 33 34

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

List of Tables

1.1

source: http://biz.yahoo.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

3.1

SBS10 project initial timeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

Mémoire de fin d’études

Konrad Florczak

12

[email protected]

TABLE DES MATIÈRES

AIG–RTC Dublin

Part I

AIG

13

15

Chapter

1

American International Group, Inc. 1.1 Overview World leaders in insurance and financial services, AIG is the leading international insurance organization with operations in more than 130 countries. AIG companies serve commercial, institutional and individual customers through the most extensive worldwide property-casualty and life insurance networks of any insurer. In addition, AIG companies are leading providers of retirement services, financial services and asset management around the world. AIG’s common stock is listed in the U.S. on the New York Stock Exchange as well as the stock exchanges in London, Paris, Switzerland and Tokyo. [1]

1.2 History AIG was founded in 1919 in Shanghai by an American entrepreneur, C.V. Starr, who opened a small insurance agency called American Asiatic Underwriters (AAU). Initially AAU represented a number of American insurance companies in Shanghai, offering fire and marine coverage. Starr continued to expand in China and also sold insurance to other Asian countries. [2] In 1926, Starr first opened an office on American soil, setting up American International Underwriters (AIU) in New York to sell insurance covering American risks outside the United States, again as general agent for U.S. insurers. As political unrest spread in China and East Asia, Starr moved his companies’ headquarters to New York in 1939. The company merged with other insurers and was known as American Home in 1952. American International Group Inc. was created in 1967 to include all of the various domestic companies. The company continued to expand its presence internationally in both Asia and Europe to become the most powerful insurance company today. Financial Highlights Revenue Revenue Growth (1yr) Employees Employee Growth (1yr)

– 2005 $1.09bn 11.50% 97,000 5.40%

Table 1.1: source: http://biz.yahoo.com

Mémoire de fin d’études

Konrad Florczak

16

[email protected]

American International Group, Inc.

AIG–RTC Dublin

17

Chapter

2

AIG RTC Dublin 2.1 Introduction The Regional Deployment Centre(RDC) was founded in 1996 in Blackrock, Dublin as a technology deployment group supporting the general insurance companies in Europe (AIG Europe S.A.) The main aim of the centre was the deployment and support of the Strategic Systems Suite of applications (often referred to as the S3 suite). S3 is comprised of ALPS (Booking), AEGIS (Claims), the database definition (GOAL/D) and FAS (Interface to the financials/reporting). The group’s role has changed dramatically throughout its eleven years of existence as the region’s technology support needs have evolved, and in keeping with the rapidly changing business environment.

Figure 2.1: AIG RTC Dublin Office

In 2002, a project to optimize AIU’s business and systems processes, accelerated the rate and scope of the changes in Dublin. Now renamed the Regional Technology Centre, Dublin aims to provide a cost-effective service, to centralize the European IT requirements and to carry it out quickly. Mémoire de fin d’études

Konrad Florczak

18

AIG RTC Dublin

2.2 Regional IT organization Fundamental to the recent organizational changes in the RTC is the need to provide common management and processes for Applications Support and Development to serve the AIU regions in Continental Europe, Central and Eastern Europe, and UK/Ireland. As directed by the O&S Executives in each region: • Simon Williams for UK/Ireland, • Joe Gordon for Europe, • and Karl Fischer for CE&CIS. Dublin RTC strives to maximise AIG’s investment in information technology. The application solutions provided include : • information management applications (eDSAT, portfolio management), • eCommerce applications (AIGeXtra, GAS, including recent PEGA project I was working on), • mainframe applications (Space, EARS), • as well as further S3 deployment and support. As a result of a global review of IT operations in AIU, Dublin now also supplies strategic assistance to other countries outside of the UK/Europe. Regional and AIU O&S1 management recognized that the investment in RTC to expand its scope of operations required external assistance from consultants to ensure that expectations for a high level of service and efficiency would be achieved. The key to the RTC success and future is its people. With a blend of recent hires and experienced staff the RTC team includes people of different nationalities, and wide-ranging skill sets and cultural backgrounds. The project addressed the following key issue: Increasing scalability of the IT functions in support of the UK, Europe and CE&CIS

1 operational

& systems

[email protected]

AIG–RTC Dublin

19

Chapter

3

AIU Dublin PEGA & AIU Dublin SBS10 teams 3.1 SBS10 Project 3.1.1

Description

As part of the AIU worldwide initiative to standardize and automate underwriting and servicing the UK/Ireland Region will use the AIGeXtra/Pega Foundation solution[cf §4.4, p.28] and associated new roles and process models to act as a catalyzer for more business and to improve the quality of customer service. SBS1 will be the first profit centre to use the new processes and system as its products are highly suitable and were created to deliver a profitable revenue stream from the SME2 sector. As part of the AIU strategy to increase sales in the SME market segment worldwide, the Small Business Solutions (SBS) Profit Centre in the UK was established to develop and service package products using the AIGeXtra system. The whole suite of 10 SBS products3 is currently built onto a new front-end platform using Pega PRPC

3.1.2

Development

In the past, SBS used AIG eXtra to process their business . The solution is primarily developed in java by in-house developers and offered to internal and external clients through a web portal. Although this has proved successful over a number of years in supporting the business model, its functional limitations (notably lead times involved in introducing the new range of products in addition to the need to process ’multi location’ business) and relative expense to maintain/develop the framework encouraged AIU to look at a third party solution to drive the business model forward. Pegasystems’ PRPC [cf §4.4, p.28]. has been chosen as the technology platform on which to develop the next generation eXtra Application. Working to Pega’s "Build for Change" ethos, the initial SBS10 project not only meets its immediate requirements but also lay the foundations for multiple PRPC solutions over the coming years. 1 stands

for Small Business Solution & medium entreprises 3 The suite of products to be delivered are as follows: Retail Combined; Office Combined; Leisure Package; Property Owners; Small Contractors (Tradesman’s liability); Wholesale Combined, Manufacturing Combined, retail Package, Office Package and Contractors Combined. 2 small

Mémoire de fin d’études

Konrad Florczak

20

3.1.3

AIU Dublin PEGA & AIU Dublin SBS10 teams

Project Timeline Phase P1 - Initiation/Planning P2 - Specification P3 - Design P4 - Construction P5 - Testing P6 - Implementation P7 - Post Implementation Maintenance

Plan Start juil-05 Aug 05 oct-05 Dec 05 Feb 06 May 06 May 06 juin-06

Plan End Aug 05 oct-05 Dec 05 Feb 06 May 06 May 06 juin-06

Table 3.1: SBS10 project initial timeline

3.2 Team Brian Cahill leads The SBS10 team. Nora McGrath and Robert Burts report to him respectively as the Europe and the UK project managers. This is inherent to the fact that Europe and the UK has different insurance policies and, for the latter, a greater number of clients. Claudius Masuch, my supervisor reports to Robert Burts.

Figure 3.1: Hierarchy within SBS10 team Within the SBS10 UK team, we could divide teammates into two categories, those who code in PEGA and therefore develop the SBS10 application, and those who maintain the servers and apply new versions to the system. I was part of the maintenance team, led by Claudius Masuch.

3.3 My position I arrived half way through the SBS10 project, a year after the business case style was done and its validation by financial department. In other terms when productivity reached its maximum, a couple of months before it went live. My initial placement description was as follows : I would work for a 2 month period on a deployment project called SBS10, working as part of a project team deploying a web-based Policy Quotation and Underwriting Application to the AIG UK. Duties included Configuration Management, Release control and database administration tasks. Technical skills that were developed [email protected]

AIG–RTC Dublin

21

My position

through this period included Java, Websphere, PRPC (PEGA – 3rd party Proprietary WorkFlow Language), UNIX and Oracle. Following completion of this two month phase, it was planned that “I transition to an inflight development project” where I would work on a combination of Java/.Net technologies for a period of 4 months. In the meantime Claudius, as my supervisor, wanted me to learn as much as could during this six-month internship while being useful to the team and AIG. Therefore a great amount of little tasks were to be performed everyday in various areas of engineering competencies including coding, maintaining and looking for alternative logging solutions on the net. Even if the initial placement description was not fully respected, it gave me the opportunity to work on many more areas of engineering [cf. §5, p.29].

Figure 3.2: My desk with Bugzilla box

Mémoire de fin d’études

Konrad Florczak

22

[email protected]

AIU Dublin PEGA & AIU Dublin SBS10 teams

AIG–RTC Dublin

Part II

Technical Aspects

23

Chapter

4

Hardware 4.1 Servers 4.1.1

Overview

Figure 4.1: AIG Pega hosting infrastructure [3] 25

26

Hardware

To increase productivity and deal with Pega software humongous system requirements1 , AIG ordered a massive and complex set of servers in 2005. The infrastructure shown below cost +1,1 Me. All platforms were working on Solaris with Websphere embedded. I had access to those servers by FTP and Telnet, excluding the Production Server, which was only accessed by Claudius for reasons of responsibility.

4.2 Websphere I had the opportunity to discover and work on Websphere instances. Websphere stands for WebSphere Application Server (WAS). WebSphere helped define the middleware2 software category and is designed to set up, operate and integrate e-business applications across multiple computing platforms using Web technologies.

Figure 4.2: Diagram of Websphere Application Server

Based on Java, It includes both the run-time components (like WAS) and the tools to develop applications that will run on WAS (PegaRules in our case). [4]

1 It

requires at least 16GB of RAM to work Middleware is the enabling technology of Enterprise application integration. It describes a piece of software that connects two or more software applications so that they can exchange data. ObjectWeb defines middleware as: ’The software layer that lies between the operating system and the applications on each side of a distributed computing system.’ 2

[email protected]

AIG–RTC Dublin

Useful Websphere features for SBS10

27

4.3 Useful Websphere features for SBS10 4.3.1

Nodes

WebSphere architectures contain one or more computer systems, which stands for nodes [cf. fig 4.33 ]. Nodes exist within a WebSphere cell. A WebSphere cell can contain one node on which all software components are installed or multiple nodes on which the software components are distributed.

Figure 4.3: single node WebSphere architecture

4.3.2

Web-based administration console

Administration console The administration console provides a Web-based interface for managing a WebSphere cell from a central location. The administration console can be used to change the configuration of any node within the cell at run-time. Configuration changes are automatically distributed to other nodes in the cell.

4.3.3

Embedded HTTP server

The embedded HTTP server receives requests for WebSphere assets from the WebSphere plug-in and passes them to an application server for processing. Any response from the application server is passed back to the WebSphere plug-in for display. The embedded HTTP server supports both HTTP and secure HTTP (HTTPS) protocols for connecting Web servers to application servers.

4.3.4

Configuration Repository(XML)

The configuration repository is a collection of XML files that contains the configuration information for all application servers on a given node. The administration service reads the configuration information for its application server from the configuration repository. Nodes that are part of a cell contain a subset of a centralized configuration repository. The centralized configuration repository contains configuration information for all nodes in the cell. This enables the administrator to centrally manage the configuration of all of these nodes. Configuration changes are automatically distributed to the specific node to which changes were applied. Multiple configuration repositories can be created to support environments that require multiple WebSphere cells. 3 source:

http://www.ibm.com/websphere/images/single_node.gif

Mémoire de fin d’études

Konrad Florczak

28

Hardware

This is particularly useful when separate domains are required for development, testing and production purposes as for the SBS10 project. Each node is configured to use a separate configuration repository.

4.3.5

SBS10 Websphere configuration

The SBS10 team built up two distinct servers : AIGUNX29 and AIGUNX31. On both servers an Websphere 5.0 was installed with PegaRules [cf. §4.4] embedded. Installed Webspheres have multiple nodes corresponding to common development phases4 of a software project : • AIGUNX29 was set for Development (DEV node), System Integration Test (SIT) and Quality Assurance (QA & QA2) • AIGUNX31 was set for User Assurance Test (UAT1 & UAT2 &UAT3) and Production (PreProd & PROD) As the project went on, some of the nodes were shot down (UAT1 & UAT2), some were reconfigured (QA was transformed into a DBA node for Europe). This is how Websphere’s node (also called environments) were set up in September.

Figure 4.4: SBS10 Environments

4.4 PegaRules Pegasystems PegaRULES is an entreprise rules engine that offers a rule repository, rule management, version control, and a combined development and runtime environment. The PegaRULES development environment is entirely web based, and can be deployed on most operating systems and databases. The SBS10 team went to Boston for a training period on that application in June 2006. PegaRules can be seen as the ultimate way of programming e-business solutions, including insurance policies and quotations, which is the core business of AIG. Its technology is Java like, which more subtle programming based on rules and rulesets [5]. It is the must-have for huge insurance companies like AIG.

4 development, system integration test, quality assurance, user assurance test, pre-production then production (live)

[email protected]

AIG–RTC Dublin

Chapter

5

Area of Knowledge My work evolved quite a lot during the internship. But it can be split into three distinct parts. • Bugzilla Box,that I had rapidly to built and add new features into it as the project went on, • Apply new versions of the SBS10 applications into Websphere servers, • Create cronjobs and scripts respectively to maintain properly what was created and to add information into the infrastructure’s databases.

5.1 Bugzilla Box 5.1.1

Simple Bugzilla

During my first week I was asked to deal with bugs that were ’raised’ by the PEGA team. As mentioned previously, the PEGA team needed a tool to develop SBS10 application,they had PEGA PRPC. But also they needed a bugtracker tool as a way to have feedback from people who were testing what they were coding. This is what Bugzilla is made for. A previous Bugzilla was used on a remote server in Croydon (UK). But we needed something local, reliable and which could be modified easily. Therefore the team provided me with a new machine we immediately called Bugzilla Box. I had a free hand to build up it. As it had to be rapidly up and running and easily maintainable, I installed a well-known Apache+PHP+MySQL combination. It gave me the opportunity to become familiar with another coding language required to run Bugzilla : Perl CGI [6]. I was in charge of Bugzilla Box during the whole time I was at AIG. Maintaining such a server normally entails : • Creating new users or deleting those who left the office • Creating new projects/environments for further SBS10 requirements • Storing a database copy daily on remote servers [cf. section 5.2.1, p.31] Besides opening port 25 to enable Bugzilla sendmail services and minor layout interface changes, nothing more was to be done to have a up and running Bugzilla Box.

5.1.2

New features added

Script test and display Bugzilla box became my second computer in the office, as it had an Apache server and PHP installed, it also enabled me to test online scripts and HTML output of various tasks Claudius 29

30

Area of Knowledge

gave me [cf. §5.2, p.31]. Another Bugzilla instance from the European team As the UK, Europe has had a Bugzilla for a couple of months already. But when the European bugzilla maintainer quit in Novembre, there was no one left to take care of it. Therefore after a couple of fixes I perform on their machine, management decided to merge both Bugzillas. Thus I prepared the Bugzilla Box to receive another instance, I installed it and copied their data into our database. MediaWiki To increase productivity and liability with release notes and versioning, I was asked to install a Wiki engine on the Bugzilla box. This typically enables web pages to be created and edited by using a common web browser, the most famous of those systems is wikipedia, the free web encyclopedia. After installing it, I configure and put information into our database. Next step was to add all relevant content into MediaWiki. This meant uploading releases notes, releases history and transforming project documentation into wiki compliant ones. As this project started a week before Christmas, it has not been finished yet, but as the main structure and tools were installed, it should be easy for teammates to carry on this project. At the end of the internship, this is how Bugzilla Box was set up :

Figure 5.1: Bugzilla Box user interface For further, more technical information on Bugzilla Box, please refer to the documentation I wrote available in Appendix section [cf. §IV,p.57] Results At the end of my internship, Bugzilla UK and Europe databases had a size of 176Mb (453 bugs) and 101Mb (1,055 bugs) respectively. More than one hundred users were registered and a least 30 were using it every day. But the Bugzilla box data should grow exponentially as another big project - AIG Extra Australasia - was implemented not a week ago and fully operational. [email protected]

AIG–RTC Dublin

31

Scripting

5.1.3

Knowledge transfer

As my internship came almost to an end, Miłosz Gluski was designated to be the new administrator for Bugzilla. Therefore documentation had to be written [cf IV,p.57] followed by a knowledge transfer. The interesting part was he was Polish, so I taught him how to use Bugzilla and how it was built up in Polish. It was the first time I had to explain something technical in my mother tongue. We reviewed the documentation, went through all the installed software and install a similar on his computer so he could train on a stand-alone version before taking over.

5.2 Scripting 5.2.1

Batch

As we worked essentially on Windows machines (Bugzilla box runs under a Windows 2000 Server), I had to create a couple of batch programs to maintain and backup the Bugzilla database. There I wrote a dynamic batch script that gathers, on a daily basis, all MySQL tables from Bugzilla box, compresses them and sends them to a secured remote server. After that it sends an email to Claudius and me saying whether the operation went successfully or not. This first script was a template for other cronjob I had to do later on. So once the other Bugzilla instance and later AIG Wiki engine were installed, there was no need to change or modify the backup script as it gathered every single table from the database.

5.2.2

Perl

Later on in my internship, after completing batch scripts for Bugzilla, I was asked to extract useful information from Websphere and Pegarules logs. Useful information within those logs files had to be counted and displayed to Claudius. As batch has limited capabilities I needed to find a language able to cope with regular expressions. It was suggested to me to try with Perl. Therefore after a couple of days of self-training [7] and with the help of French coding forums (www.developpez.com). I manage dto create recognition scripts that counted the number of warnings, ranked by its severity1 on any log file available on our servers. All that remained to be done was to set a variable which stood for the log file’s location.

5.2.3

Mixed scripts SQL-Batch-Perl

Other scripts I had to make were those dealing with an external programme (like SQLplus) that run SQL statements. The aim was to have a daily report sent with information on remote databases’ status. Therefore all that had to be done was to create an embedded batch cronjob that functions in 5 steps : 1. The Windows schedule task manager wakes up at the desired time and runs the batch file 2. The Batch calls a Perl script that connects to the desired database ,generates SQL queries into a file and summons [8] SQLplus 3. The SQLplus takes the SQL queries file, runs it and generates an HTML report (spool method) 4. Once done, Perl with regular expression check if reports has to be zipped or renamed or moved (in case of a new month for instance.) 5. After that Batch send the link to the location of the HTML report by email 1 DEBUG,

INFO, WARN, ERROR, FATAL

Mémoire de fin d’études

Konrad Florczak

32

Area of Knowledge

This way a predefined user receives an email indicating to him that a new report has been created and its location2 . It shows that with a basic knowledge of Batch, Perl and SQL, you can force them to teamwork and with their combined abilities deal with complicated tasks. I am particularly happy I had the opportunity to learn more about scripts during my internship. This is a part of engineer skills which are nowadays not exploited enough in Engineering schools and are vital in firms.

XLS2SQL Just after one of the projects went live,as part of the maintenance team, we needed to support production. Production was run by underwriters using the system to raise new quotations. My part of the job was to think about a method to summon SQL scripts that generate new users in the system rapidly. I wanted something easy to use, requiring no IT knowledge at all and perfectly flexible. I thought about Excel, having to deal with a similar situation at University one day. Excel can perform amazing tasks where properly used. Furthermore we used to receive orders from underwriter managers to create users and the information they provided us with was in Excel. Therefore I created a similar spreadsheet with the ability to generate SQL code. All that had to be done was to copy paste the excel results into a notepad and save it as a ‘.sql’ extension.

XLS2LDIF In order to create a new SBS user, in addition to sql code, an external authentification was required to log in. The latter was controlled by a LDAP3 server. Therefore I had to add to my SQL generator spreadsheet the ability to create users in LDAP. For further information, the entire process of creating a new user in our system is available at the end of the document [cf §IV, p.68]

5.3 Pega & Websphere 5.3.1

Applying new releases into servers

My most visible job in SBS10 team was to apply new releases of SBS10 applications into the servers. Like previously described [cf.§4.3.5, p.28], SBS10 project followed common steps of software programming :

2 Report is stored in Bugzilla box in specific location where Apache has an alias and therefore it displays the content of the HTML report. 3 In computer networking, the Lightweight Directory Access Protocol is a networking protocol for querying and modifying directory services running over TCP/IP [9].

[email protected]

AIG–RTC Dublin

33

Pega & Websphere

Figure 5.2: Deployment steps for a new release When a new release was out, as part of the maintaining team, I had to apply it to SIT environment, and deal with other tasks depending on the releases. It could include : • Loading scripts into specific Oracle database located on the server • Uploading new docucorp files (corporation documents) into the server All was mentioned inside release notes provided by the programming team. Those release notes had to be updated after each new version was applied to an environment. Next step was to apply the new release into further environments, depending on the results Business Analysts provided us with. I had access to all environments and all websphere servers, excluding Production ones, for obvious matters of responsibility. For further information, I wrote a specific documentation on that subject available at the end of this very document.

5.3.2

Websphere and Pega XML Configuration

During July and August, I was particularly focused on Websphere and Pega. I have not heard of Pega before, and had very limited knowledge on middleware as Websphere. Therefore Claudius explained me how do they work by giving me documentation and allowing me to configure one of the new nodes he needed for SBS10. I spent a long time studying all this Websphere labyrinth. As mentioned previously, Websphere uses cells and nodes. But those have to be properly configured to cooperate. It can be done only by editing XML files located into the server and reachable only by FTP. An alternative way to configure Websphere was to log on to the Websphere Administrator Console, a more attractive solution to understand how Websphere functions. Unfortunately, everything cannot be edited this way.

5.3.3

Logs

Also I had to learn more about Websphere and especially Pega by dealing with log files. For every application or server, logging is essential, but a great deal of useless information is also recorder by logging software. One of my tasks was to select the relevant information for SBS10 team, and configure logs to print out only the desired lines. Once again it was a question of XML configuration as Log4j [10], a specifical logbuilder was embedded into our Websphere. Mémoire de fin d’études

Konrad Florczak

34

5.3.4

Area of Knowledge

Oracle database

Last task related to Websphere and Pega was to work on massive Oracle databases [see fig. 5.3] linked to them. First Claudius tried to increase my SQL abilities and adapt those I knew to AIG purposes by giving me a couple of SQL scripts to write down on the system.

Figure 5.3: Oracle Schema I worked on Then he launched me on SQLplus to deal with databases’ tests, look ups, and fast reports. Just on time I was ready to cope with Production Support and ’excel to sql’ scripts I previously spoke of. []

[email protected]

AIG–RTC Dublin

Part III

Human Aspects

35

37

Chapter

6

Cross Cultural internship 6.1 Myself Since I immigrated to Paris in 1990, I have had a French and Polish culture. As I have been living in Poland for 6 years and in France 16, it undoubtedly gave me a cross cultural environment. It also pushed me to travel a lot during my teenage and to learn English. I suppose this is the reason why I tend to discover other civilisation and countries. I consider myself as being a globe trotter. This 6-month internship gave me the opportunity to quench my thirst for new international experiences and definitively helped me to improve my English.

6.2 Dublin an international city This is also the reason why I chose to go back to Dublin, which is one of the most international and dynamic city of Europe. Due to its recent prosperous economy, loads of immigrants come from China, Poland, the Philippine, Nigeria, Lithuania, and Romania to seek fortune. Also a large number of Irish who had emigrated to the United Kingdom, New Zealand, Australia or USA have returned to settle.

6.3 At home I have been living in a sharing the time I was in Dublin. Even if I had the opportunity to share a flat with three Poles, I chose to live with nine other flatmates, all foreigners. English was the only possible way to communicate and it certainly boosted my spoken English. Moreover I discovered new cultures by living with Americans, Germans, Brazilians, Hungarians and Australians. I spent my time with their friends which included even more nationalities. Furthermore, to live with a lot of people under the same roof helps you to be more organized, to deal with the lack of privacy or to be less self-centered. A very good experience considering I am a single child.

6.4 At work By its aim and its location, AIG RTC Dublin (as mentioned previously) is a cross cultural enterprise. Our team was essentially composed of foreigners except for the project manager, who was from Cork. I imagine how exiting it has to be for Robert Burts. He manages so many different people with their own work customs, mentality and sensibility. Mémoire de fin d’études

Konrad Florczak

38

Cross Cultural internship

This melting pot is as interesting as challenging. In addition to dozen of accents you have to face, working habits are different in each country and it sometimes leads to doggy situations or misunderstandings. First I was a little bit afraid to work in such environment. For instance I had difficulties to understand the English spoken by Indians or by Northern Irishmen. Compared to French working environment, English one differs greatly. It is very difficult to describe it with words, but notable things are : • more flexibility with timetables • more forthright relationships with workmates • more relaxed attitude towards ones hierarchy

[email protected]

AIG–RTC Dublin

39

Chapter

7

Trainee Engineer 7.1 Role of an engineer within a project 7.1.1

Different meaning in different countries

I discovered the word ’Engineer’ is not fully equivalent to ’ingénieur’ in French. Therefore its use in English speaking countries is sometimes irrelevant or creates confusion. In France (Ingénieur), in Poland (magister inżynier) or in Germany (Ingenieur), titles refer to a prestigious grade of University and - supposedly - opens gates to great careers in national companies. Whereas in English speaking countries to have a position in a company technical skills and personal abilities matters more than titles. This cultural difference can also be seen by looking at the education Irish or English CEO have. In Britain, an engineer can also mean a technician or a person that mends and operates machinery. [18] In the United States, the term ’engineer’ is also used to denote an operator of an engine of some sort. For instance a railroad engineer is the operator of a locomotive, a ship’s engineer is in fact the operator of the steam engine on a steamship, and a stationary engineer is normally responsible for a stationary steam engine. Occasionally ’title inflation’ results in non-engineers holding jobs with ’engineer’ in the job title : ’sanitation engineer’ stands for ’garbage collector’ in the United States.

7.1.2

Requirements

Even if there seems to be a difference with title interpretation and importance between France and Ireland, proficiency do matters. The role of an ’ingénieur’ has changed a great deal in the last two decades. Technical skills are of course fundamental but not sufficient to be a successful IT engineer. Management & Communication skills has taken more and more importance within the past few years. Furthermore as the globalization goes on, it is absolutely mandatory for all engineers to speak a decent English. The best example I can give is Claudius. Despite he is Austrian, he speaks a fluent English, has great IT skills and has to teamwork with a lot of different people, from Indian business analysts to German clients. The other skill I discovered while working at AIG was the relationship engineer have with ’work efficiency’. At ESIEA it was important to prepare the most complex piece of code or work to obtain a good mark. It could take us addition two days to change a simple code into a more complex, faster script or to write a perfect, flawless report. This was the only way to expect a very good mark. Whereas at AIG as in all companies, we care more about time efficiency than complexity. The Mémoire de fin d’études

Konrad Florczak

40

Trainee Engineer

faster someone can perform a task, the better. Because time is money. I could not understand it the first month, I was trying to do the best I could, and unfortunately that was not expected from my managers. They wanted something simple and reliable than complex and perfect. And for me this is the obvious difference between the role of an engineer and a scientist. As far as I’m concerned, I do think that being an engineer is more a behaviour than a rank or a position within a firm. It includes besides technical skills to have: • Work ethics, • An ability to adapt to new situations, • Collaborative skills (including communication), • An ability to acquire and use new technology, • Leadership skills. The most important of all is adaptability. Especially in IT where software, operating system or management methods changes all the time. Self-training is the key for success. One has to learn new technology by himself in just a couple of days by reading documentation and ask question on dedicated internet forums.

[email protected]

AIG–RTC Dublin

41

Chapter

8

Where I go from here 8.1 Studies at ESIEA As I look back I realise ESIEA gave me all require weapons to fight in today’s work market. I can divide the five years I spent at University in three parts : 1st & 2nd year where I learnt my core competencies including maths and physics that helped me a have a more structured mind. 3rd & 4th year where I learnt communication skills by being in student’s union and especially KPS that taught me a lot about computers and IT. I had also the opportunity to taste a more scientific project with my PAIR on satellites. 5th year was the year I finally specialized in finance and business, the fields I wanted to pursue my career in. It also enabled me to internationalise my project by applying for a Master of International Business in Sydney This proves ESIEA programme gives you the choice to basically do whatever you want later on. For instance, students like Julien Cornebise chose a more scientific path and he certainly will end up professor at University. Others like Louis Chabardès chose an international path and work as IT in Boston. I chose the business oriented path. This became clear last year when I perform my two month internship in Dublin at AIG. I discovered I felt more comfortable in Anglo-Saxon working environment that deals with insurance than a French one dealing with research and development. But to be fully bi-skilled I needed to perform another 6-month in a IT oriented internship which completed with practice the theory I learnt at ESIEA.

8.2 Link to the Master of International Business in Syndey Therefore to be fully operational from a work point of view and to discover a continent I have never been, my fiancée and I decided to apply for a programme in Sydney. This will lead to a Master of International Business degree at the end of 2007. I will develop finance and business related skills I started to learn during my last year at ESIEA. It is for sure a very exciting but also very demanding call. But the 5 years I spent at ESIEA and the two internships I performed at AIG are truly assets for Sydney.

Mémoire de fin d’études

Konrad Florczak

42

[email protected]

Where I go from here

AIG–RTC Dublin

Bibliography

[1] AIG, AIG Annual Report, 2005. [Online]. Available: http://www.ezonlinedocuments.com/ aig/2006/annual/images/AIG_AR2005.pdf [2] K. Florczak, “Internship report - aig rtc dublin,” ESIEA, Tech. Rep., Sept 2005. [3] S. Williams, “Aigextra Ű pega hosting infrastructure,” AIG, Tech. Rep., 2005. [4] R. Turaga, WebSphere Application Server: Step by Step. MC Press, LLC, 2006. [5] PegaRules, PegaRules Process Commander Bootcamp, 2006. [6] J. Byron, “Installing bugzilla on windows,” Internet, oct 2005. [Online]. Available: http://www.bugzilla.org/docs/win32install.html [7] N. Patwardhan, E. Siever, and S. Spainhour, Perl in a Nutshell. O’Reilly, 2002. [8] P. Blayo, “Lancer des processus à partir de perl,” Linux Magazine, vol. 55, pp. 26–32, Nov 2003. [Online]. Available: http://articles.mongueurs.net/magazines/linuxmag55.html [9] WIkipedia, “Definition of ldap.” [Online]. Available: http://en.wikipedia.org/wiki/Ldap [10] S. Tolley, Log4j XML Configuration Primer, Apr 2006. [Online]. Available: //wiki.apache.org/logging-log4j/Log4jXmlFormat

http:

[11] F. Dagorn and O. Salaun, Débuter en Perl, Jun 2000. [Online]. Available: //perso.univ-rennes1.fr/Francois.Dagorn/perl

http:

[12] S. Feuerstein, B. Pribyl, and J. Gennick, Oracle PL/SQL Programming. O’Reilly, 2005. [13] S. LeRay, “Introduction à log4j,” www.developpez.com, vol. 1, pp. 1–14, Sep 2005. [Online]. Available: http://beuss.developpez.com/tutoriels/java/jakarta/log4j/ [14] D. Miller, “Ssh tips, tricks & protocol tutorial,” AUUG Winter 2002, vol. 1, pp. 4–14, Aug 2002. [15] J. Rutherford, “Setting up a sftp server on windows,” Web, Jun 2005. [Online]. Available: http://www.digitalmediaminute.com/article/1487/setting-up-a-sftp-server-on-windows [16] Serena, “Pvcs presentation,” Web, 2006. [Online]. Available: http://www.serena.com/docs/ Repository/products/pvcs/advanced-version-con.pdf [17] U. of Waterloo, “How to setup the secure shell daemon on a windows 2000/2003 server,” Web, Feb 2006. [Online]. Available: http://ist.uwaterloo.ca/~kscully/CygwinSSHD_W2K3.html [18] Wikipedia, “Definition of engineer.” [Online]. Available: Engineer 43

http://en.wikipedia.org/wiki/

44

BIBLIOGRAPHY

[19] ——, “Definition of middleware,” Wikipedia. [Online]. Available: http://en.wikipedia.org/ wiki/Middleware [20] J. Zouaghi, “Sql*loader : Comment effectuer des chargements de données sous oracle,” www.developpez.com, vol. 1 1, pp. III–B, Sep 2005. [Online]. Available: http://jaouad.developpez.com/sqlldr/

[email protected]

AIG–RTC Dublin

Part IV

Appendix

45

Technical Documentation

Bugzilla deployment and DB management in AIG

47

BUGZILLA BOX : Deployment Guide and DB Management

Bugzilla Box Deployment guide and DB management

Revision Chart Date 07/12/2006

Revision 0.1

Author

Description of Changes

Konrad Florczak

Initial Release

Bugzilla Box Deployment guide and DB management

TABLE OF CONTENTS 1.

ABOUT.................................................................................................................. 4

2.

PREREQUISITES ..................................................................................................... 4

3.

INSTALLING UP&RUNNING SERVER INCLUDING BUGZILLA ............................................. 4

4.

DATABASE MANAGEMENT WITH PHPMYADMIN ............................................................ 8

5.

BUGZILLA DB BACKUP ............................................................................................ 9

6.

ADDITIONAL FILES FOR MULTIPLE INSTANCES ............................................................ 9

Bugzilla Box Deployment guide and DB management

1.

ABOUT

This document will describe each of the steps involved in the deployment of Bugzilla and describe all database management.

2.

PREREQUISITES

You must have access to Bugzilla Box And to K: drive

3.

INSTALLING UP&RUNNING SERVER INCLUDING BUGZILLA

UK and Europe team are working on Bugzilla 2.22. Therefore this deployment guide is made for this particular version and might not work with previous ones. Nowadays, Bugzilla Box (http://172.27.70.74) has two Bugzilla instances located in c:\web\www\bugzilla_uk\ and c:\web\www\bugzilla_eur\ with associated schemas respectfully Bugzilla_UK and Bugzilla_EUR. This chapter shows how to install a single instance of Bugzilla with associated database named bugs. However read specific notes within the document to see tricks to run several instances. Follow the instructions step by step. Click on the links to install proper versions of involved software. 3.1. Overall Box structure All web related server and DB management has to be installed under C:\web\. This is our root folder for this documentation. Bugzilla will work under Apache 2.0 server with MySQL 5.0 and PhpmyAdmin working with php. 3.2. Install Bugzilla Take this .ZIP file and extract all its content to c:\web\www\bugzilla 3.3. Install MySQL Install MySQL (version 5.0) to C:\web\mysql, create a root user with a password During Configuration Wizard, do not forget to untick ‘Enable Strict Mode’

Bugzilla Box Deployment guide and DB management

After a successful installation, open MS-DOS in order to give an user access Bugzilla will use (here for instance user bugs with password bugs ), also create an empty database where you will store all bugzilla information : C:\mysql\bin>mysql—user=root -p mysql Enter password: ******** mysql> create database bugzilla; mysql> grant all privileges on bugs.* to ‘bugs’@’localhost’ identified by ‘bugs’; mysql> flush privileges; mysql> quit Close MS-DOS 3.4. Install Perl Install Perl to C:\web\Perl and create a c:\Temp directory. Next step is to install Bugzilla modules for Perl Open MS-DOS : C:\>ppm ppm> rep add ppm> install ppm> install ppm> install ppm> install ppm> install ppm> install ppm> install ppm> install ppm> install ppm> install ppm> install ppm> install

Bugzilla http://landfill.bugzilla.org/ppm AppConfig TimeDate DBI DBD-mysql Template-Toolkit MailTools GD Chart GDGraph PatchReader Net::LDAP MIME-Tools

Bugzilla Box Deployment guide and DB management

Close MS-DOS Hint : modules name might change in the future, to find their new names try to search them by using the command : ppm> search module_name

3.5. Install PHP Install this php version into c:\web\php 3.6. Install Apache Install this Apache version to apache default directory. When it’s done, replace the httpd.conf file (located in C:\Program Files\Apache Group\Apache2\conf\) by this one. Then edit the new file with a notepad. File is fully commented. 3.7. Enable CGI in Apache To do so you need to enter a new register key into your machine. It can be done by creating a .reg file (with notepad) containing the following text or by clicking on that file: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command] @="C:\\web\\perl\\bin\\perl.exe -T" 3.8. Configure Bugzilla Open MS-DOS C:\>net stop apache2 C:\>net start apache2 C:\bugzilla>perl checksetup.pl This ran the Bugzilla 1st configuration. Normally it checks if each Perl modules required for Bugzilla were correctly installed. If not do the necessary and re-run checksetup again. If configuration went OK, a new file called localconfig was created. Replace it C:\web\bugzilla\localconfig with the localconfig file included in that zip. And modify it for your own Bugzilla. Note : the $db_name parameter is the one in which a 2nd checksetup will put his tables into. So it should be Bugzilla for our exemple. Reopen MS-DOS and rerun checksetup.pl C:\bugzilla>perl checksetup.pl [...]

Enter the e-mail address of the administrator: [email protected] You entered ‘[email protected]’. Is this correct? [Y/n] y Enter the real name of the administrator: Givenname Surname

Bugzilla Box Deployment guide and DB management

Enter a password for the administrator account: yourpassword Please retype the password to verify: yourpassword ‘[email protected]’is now set up as an administrator account.

Close MS-DOS 3.9. Install Sendmail Sendmail is the software that enable Bugzilla to send emails to assignees. Install Sendmail to c:\web\sendmail with default settings SMTP server at AIG RTC is emearelay.exchange.ukdc.aig.com and Domain is aig.com

NB: to test if your fake emailing works download bmail software, put bmail.exe in the C:\ folder. Open command prompt and enter: C:\>bmail -s emearelay.exchange.ukdc.aig.com -t [email protected] -f [email protected] -h -a “Test bmail” -b “Body of the message should be displayed here” -d If you don’t receive any email on your Outlook it means that your machine does not have access to port 25 of SMTP box. Therefore please contact helpdesk. 3.10. Linking Perl with Bugzilla Open with notepad C:\web\bugzilla\globals.pl and add those lines : $ENV{”NTsendmail”} = “emearelay.exchange.ukdc.aig.com”; $ENV{”NTsendmail_debug”} = 1; $ENV{”NTsendmail_max_tries”} = 5; 3.11.

Finally, go to your bugzilla webpage

Log as [email protected] and enter the password yourpassword

Bugzilla Box Deployment guide and DB management

4.

DATABASE MANAGEMENT WITH PHPMYADMIN

Once Bugzilla installed, you might want to control more efficiently MySQL database. To do so please unpack phpmyadmin into c:\web\phpmyadmin. 4.1. Configuration Use your text editor to create the file config.inc.php (you can copy config.sample.inc.php to get minimal configuration file) in the main (top-level) phpMyAdmin directory (the one that contains index.php). phpMyAdmin first loads libraries/config.default.php and then overrides those values with anything found in config.inc.php. If the default value is okay for a particular setting, there is no need to include it in config.inc.php. You'll need a few directives to get going, a simple configuration may look like this:

// use here a value of your

= 'cookie';

Or, if you prefer to not be prompted every time you log in:

= 'root'; = 'cbb74bc'; // use here your password

4.2. Access Now to access to phpmyadmin in a secured way go to http://127.0.0.1/phpmyadmin/ (previously alias was configured by imported httpd.conf Apache file).

Bugzilla Box Deployment guide and DB management

5.

BUGZILLA DB BACKUP

For now Bugzilla DBs are been backup everyday at 11pm by a cron job of this bat file : Therefore unpack the zip file and put it somewhere into your Bugzilla box. The bat job dumps every single schemas and gzip in desired location. Default one is on \\172.27.70.71\unix\bugzillabox_DB_backup\schemas

6.

ADDITIONAL FILES FOR MULTIPLE INSTANCES

You can also add this main page into C:\web\www\ to have a nice display of available Bugzilla instances. Edit index.php file with correct href to the instances. It will appear straight on http://127.0.0.1

57

How to create an SBS User

Mémoire de fin d’études

Konrad Florczak

How to: Create SBS user

Howto Create SBS user

Revision Chart Date

Author

Description of Changes

05/12/2006

Revision 0.1

Konrad Florczak

Initial Release

06/12/2006

0.2

Konrad Florczak

LDIF structure

Howto Create SBS user

TABLE OF CONTENTS 1.

ABOUT.................................................................................................................. 4

2.

PREREQUISITES ..................................................................................................... 4

3.

CREATE SQL QUERIES AND LDIF FILES....................................................................... 4

4.

LOAD SQL FILE INTO SQLPLUS.................................................................................. 7

5.

LOAD LDIF FILE INTO LDAP....................................................................................... 7

6.

ADD USERS INTO PRPC............................................................................................ 8

Howto Create SBS user

1.

ABOUT

This document describes each step involved in the creation of SBS user.

2.

PREREQUISITES

SQLPlus with login for AIG database and tnsnames.ora properly configured LDAP Manager with access to LDAP server Access to PRPC environment Note : Givenname.Surname is, for instance Konrad.Florczak or Claudius.Masuch, first letter has to be upper.

3.

CREATE SQL QUERIES AND LDIF FILES 3.1. OPEN INTERNATIONAL CHANGE FORM

You should receive a XLS sheet from Karl Hancock-Lawes telling you to create or amend a user. Store the file to K:\eCommerce\UKPegaSBS\SBS_Users\Recieved and open it.

3.2. SQL GENERATOR Open the SQL generator spread sheet file located in K:\eCommerce\UKPegaSBS\SBS_Users\ And save a copy named SQL_givenname.surname.xls in K:\eCommerce\UKPegaSBS\SBS_Users\Generated_XLS\ Next step is to copy-paste the required blue fields from Karl’s file to SQL_Givenname.Surname.xls. A yellow field means you need to read the comment associated with the field. Once fields are properly filled create two files with your favourite text-editor: ƒ

Givenname_Surname.sql in K:\eCommerce\UKPegaSBS\SBS_Users\SQL

ƒ

DDMMYYYY_add.ldif in K:\eCommerce\UKPegaSBS\SBS_Users\LDIF

Howto Create SBS user

3.3. ENTER DATA INTO CREATED SQL AND LDIF FILES Case if you want to create a new user : Copy paste those selected fields into your previously created sql file :

It should look like this:

Save your Givenname_Surname.sql file and create a new one for another user if need be.

Howto Create SBS user

Last thing to do is to copy following fields into your previously created ldif file

Copied elements should look like this:

Hint : As LDAP imports ldif files, create just one LDIF file for all set of users you will have to create. Note : For safety reasons, the available PRPC environment for a ldif user is set by default to AIU.Security. To change it to a more appropriate one (for instance QA) change with a text editor ou: AIU.Security to ou: AIU.QA Case if you want to amend a user : Enter data to SQL_generator and copy paste into your sql file following field areas

Howto Create SBS user

And then

Save your Givenname_Surname.sql file. No need to create any ldif file.

4.

LOAD SQL FILE INTO SQLPLUS

Open SQLplus and login to requested Database (Check your TNS before !) Click on FILE/open and select the location of your saved sql file(s) - namely K:\eCommerce\UKPegaSBS\SBS_Users\SQL An error message should be displayed SP2-0423: Illegal GET command Now enter this command @Givenname_Surname.sql Rows should be created or modified or both, depending whether you amend or create a user. Close SQLplus.

5.

LOAD LDIF FILE INTO LDAP

Use LDAP Browser and login into your LDAP. Import your created ldif file who should be located in K:\eCommerce\UKPegaSBS\SBS_Users\LDIF

Howto Create SBS user

User(s) should be created in dc=aiu, ou=people 6.

ADD USERS INTO PRPC

Log as administrator to appropriate environment:

Then on the left panel go to Manage Rules/Data-/Admin-/Operator/ID-

Howto Create SBS user

Click on an existing user which is closed to the one your created (UW for UW, UWM for UWN, and CST for CST etc…). Then click on SAVE AS and save it as [email protected].

Howto Create SBS user

Refresh now the entire Rule set

Click on your freshly created user modify request fields as emails, names etc

And most important, on Security tab Check the User External Authentication:

Save the operator_id and VOILA.

68

PRPC Rulesset Deployement

[email protected]

AIG–RTC Dublin

PRPC Rule set Deployment

PRPC Rule set Deployment guide

Revision Chart Date

Author

Description of Changes

02/08/2006

Revision 0.1

Konrad Florczak

Initial Release

08/08/2006

0.2

Konrad Florczak

UAT deployment added

08/08/2006

0.3

Konrad Florczak

Passwords deleted

10/08/2006

0.4

Konrad Florczak

Word formatted

01/09/2006

0.5

Konrad Florczak

Docucorp added

PRPC Rule set Deployment guide

TABLE OF CONTENTS 1.

ABOUT.................................................................................................................. 4

2.

PREREQUISITES ..................................................................................................... 4

3.

DOWNLOAD DAILY RAPP’S ....................................................................................... 4

4.

UPLOADING FILES ON APPROPRIATE SERVER ............................................................. 4

5.

LOAD RULES INTO PRPC .......................................................................................... 5

6.

RESTART SERVER .................................................................................................. 8

7.

REPORT CHANGES TO EXCEL FILE ............................................................................ 8

PRPC Rule set Deployment guide

1.

ABOUT

This document will describe each of the steps involved in the deployment and PRPC releases on the Web Sphere Application Server.

2.

PREREQUISITES

You must be able to login to DUBEPAP1; AIGUNX29 servers and Sign on to Pega RULES Process Commander. In addition to you need a PVCS account and a unix bash shell (cygwin for windows) Finally a FTP software is required.

3.

DOWNLOAD DAILY RAPP’S

Grab files from \\Dubsusr1\COMMON\eCommerce\UKPegaSBS\Daily RAPPs and save it on your HDD Files’ type are : DDMmmYY_SBS10Refresh_tv%release%_D.zip for development (applying to UAT 1, 2, SIT, QA, QA2). These are MTA files. DDMmmYY_SBS10Refresh_tv%release%_P.zip for production (applying to UAT 1, 2 & 3, SIT, QA, QA2). These are NB files. Some zip fixes can also be found (ex: 20060802_Refresh_AIUMI_v91.zip).

Ex : If your current environ release is 90 grab development and production files higher than 90 DDMmmYY_SBS10Refresh_tv91_D DDMmmYY_SBS10Refresh_tv91_P. DDMmmYY_SBS10Refresh_tv92_D. DDMmmYY_SBS10Refresh_tv92_P. etc

4.

UPLOADING FILES ON APPROPRIATE SERVER • • •

4.1. QA and QA2 Take your FTP software and logon to DUBEPAP1 server (172.27.70.36) For QA go to /app/pega/sbs/qa/installedApps/DUBEPAP1/prweb_war.ear/prweb.war/ServiceExport/ For QA2 go to /app/pega/sbs/qa2/installedApps/DUBEPAP1/prweb_war.ear/prweb.war/ServiceExport/



Upload all previously grabbed files.

• • • •

4.2. UAT 1, 2 and 3 Take your FTP software and logon to AIGUNX29 server (167.247.9.192) For UAT1 go to /opt/WebSphere/AppServer_UAT1/installedApps/aigunx29/prweb_war.ear/prweb.war/ServiceExport/ For UAT2 go to /opt/WebSphere/AppServer_UAT1/installedApps/aigunx29/prweb_war.ear/prweb.war/ServiceExport/ For UAT3 go to /opt/WebSphere/AppServer_UAT1/installedApps/aigunx29/prweb_war.ear/prweb.war/ServiceExport/

PRPC Rule set Deployment guide



5.

Upload all previously grabbed files. Exception for UAT3, upload only NB (_P files) and fixes.

LOAD RULES INTO PRPC

Read carefully the Project releases notes located at \\DUBSUSR1\Common\eCommerce\UKPegaSBS\Project Release Notes before loading the rules into PRPC. If there is no Special Release Instructions, follow instruction written below: Go to http://172.27.70.38:9000/prweb/PRServlet for SIT Go to http://172.27.70.38:9003/prweb/PRServlet for QA Go to http://172.27.70.38:9007/prweb/PRServlet for QA2 Go to http://167.247.9.190:8180/prweb/admin/FirstSteps.html for UAT 1 Go to http://167.247.9.190:8280/prweb/admin/FirstSteps.html for UAT 2 Go to http://167.247.9.190:8380/prweb/admin/FirstSteps.html for UAT 3 ! USE INTERNET EXPLORER ONLY ! As the file uploading is very slow (2 min per zip file), you can do several environment loads simultaneously. Then follow the screenshots:

PRPC Rule set Deployment guide

PRPC Rule set Deployment guide

On the Load Rules screen, you have to upload for a release: First the P.zip file, then the D.zip file and finally patch (if available)

PRPC Rule set Deployment guide

6.

RESTART SERVER 6.1. Delete Extract Marker

In order to deploy a daily R-A-P-P you have to tell the Web sphere server to re-compile all new imported files. To do so, you have to Delete PegaRULES_Extract_Marker.txt file on the server for each environment involved. This file can be found in on the server •

for UAT X /opt/WebSphere/AppServer_UATX/installedApps/aigunx29/prweb_war.ear/prweb.war/



for QAX /app/pega/sbs/qaX/installedApps/DUBEPAP1/prweb_war.ear/prweb.war/ 6.2. Restart Websphere via Telnet

For QAX Connect to 172.27.70.36 via Telnet and hit those commands: . /app/pega/sbs/qaX/bin/setupCmdLine.sh /opt/WebSphere/bin/stopServer.sh server1 /opt/WebSphere/bin/startServer.sh server1

For UAT 1 2 & 3 . /opt/WebSphere/bin/setupCmdLine.sh . /opt/WebSphere/AppServer_UATX/bin/setupCmdLine.sh /opt/WebSphere/bin/stopServer.sh server1 /opt/WebSphere/bin/startServer.sh server1

The restart then takes a couple of minutes (usually, restart just takes seconds).

7.

REPORT CHANGES TO EXCEL FILE

Open \\DUBSUSR1\COMMON\eCommerce\UKPegaSBS\Project Release Notes\Released_deployed.xls and report the changes you’ve made.

8.

REPORT ON WEBSPHERE Reconnect to Websphere and edit the News board indicating the latest version of NB or MTA or both released and implemented on the server

PRPC Rule set Deployment guide

9.

DOCUCORP

Get cygwin or use Unix bash shell Open bash shell and goto /cygdrive/c/PEGA/UK.../DocuCorp.../deflib delete all files there with rm -rf * goto /cygdrive/c/PEGA/UK.../DocuCorp.../frmlib delete all files there with rm -rf * GET latest DocuCorp stuff out of PVCS (check include subprojects)

go again to deflib directory tar -cvvf deflib_XX.tar * (XX for release number) go again to frmlib directory tar -cvvf frmlib_XX.tar * ftp it to target ssystem, user mqm, directory /app/docucorp/backups log in into target system using telnet and user mqm goto /app/docucorp/deflib/aiu_gb/ directory goto target system directory (eg uat1) rm -rf * in target directory unpack stuff: tar -xvf ../../../backups/deflib_XX.tar Check that there is then something in the directory! repeat 6 and 7 with frmlib

78

[email protected]

AIG–RTC Dublin

Assessment of performance engineer-in-training

79

80

[email protected]

Assessment of performance engineer-in-training

AIG–RTC Dublin

81

Scripts .1 A Perl script with regular expressions 1

# ! C :\ Perl \ bin use strict ;

2 3

4 5 6

7

8 9

# variables déclarées ( par my ) my $FichierEntree = $ARGV [0]; my $FichierSortie = $ARGV [1]; my % Compteur = qw ( WARN 0 INFO 0 ERROR 0 FATAL 0) ; my $time = localtime () ; # ouverture des deux fichiers open ( IN , $FichierEntree ) or die ( " cannot ␣ open ␣ $FichierEntree ␣ in ␣ input ␣ mode ␣ : $ !\ n " ) ; open ( OUT , " > $FichierSortie " ) or die ( " cannot ␣ open $FichierSortie ␣ in ␣ output ␣ mode ␣ : ␣ $ !\ n " ) ;

10 11

12 13 14

# analyse de chaque ligne du fichier d ’ entrée avec comptage des mots recherchés while ( < IN >) { ++ $Compteur { $1 } if (/( WARN | INFO | ERROR | FATAL ) /) ; } close ( IN ) ;

15 16 17

18 19 20 21 22

23

# écriture du résultat en sortie print OUT " = = = = = = = = = = = = = = = == = = = = = = = = \ n " ; print OUT " LOG ␣ 4 J ␣ SUM ␣ UP ␣ REPORT \ n " ; print OUT " = = = = == = = = = = = = = = = = = = = = = = = = \ n \ n " ; foreach ( sort ( keys % Compteur ) ) { print OUT " NUMBER ␣ OF ␣ $_ ␣ : ␣ $Compteur { $_ }\ n " ; } print OUT " = = = = = = = = = = = = = = = = = = = = = = = = = \ n " ; print OUT " Run ␣ at ␣ $time " ; close ( OUT ) ;

.2 Batch script to Backup Bugzilla 1 2

@echo off :: Set some variables set bkupdir =\\172.27.70.71\ unix \ bugzilla_backups \ zips

3 4 5

:: set bkupdir = C :\ Temp \ set mysqldir = C :\ mysql set datadir = C :\ mysql \ data set

Mémoire de fin d’études

Konrad Florczak

82

Scripts

6

7

logdir =\\172.27.70.71\ unix \ bugzilla_backups \ logs set dbuser = root set dbpass = Bah8jail@ set zip = C :\ gzip \ bin \ gzip . exe set endtime =0

8 9

: GETTIME

10 11 12 13 14 15 16

:: get the date and then parse it into variables for / F " tokens =2 -4 ␣ delims =/ ␣ " %% i in ( ’ date /t ’) do ( set mm =%% i set dd =%% j set yy =%% k )

17 18 19

20 21 22 23

:: get the time and then parse it into variables for / F " tokens =5 -8 ␣ delims =:. ␣ " %% i in ( ’ echo .^| time ^| find " current " ’) do ( set hh =%% i set ii =%% j set ss =%% k )

24 25

26

:: If this is the second time through then go to the end of the file if " % endtime % " == " 1 " goto END

27 28 29

:: Create the filename suffix set fn = _ % yy %% mm %% dd % _ % hh %% mm %% ss %

30 31 32

:: Switch to the data directory to enumerate the folders pushd % datadir %

33 34 35 36

37 38

:: Write to the log file echo Beginning MySQLDump Process > % logdir %\ LOG % fn %. txt echo Start Time = % yy % -% mm % -% dd % % hh %:% ii %:% ss % >> % logdir %\ LOG % fn %. txt echo - - - - - - - - - - - - - - - - - - - - - - - - - - - >> % logdir %\ LOG % fn %. txt echo . >> % logdir %\ LOG % fn %. txt

39 40 41 42

:: Loop through the data structure in the data dir to get the database names for / d %% f in (*) do (

43 44 45 46 47 48 49 50 51 52

:: Create the backup sub - directory is it does not exist if not exist % bkupdir %\%% f \ ( echo Making Directory %% f echo Making Directory %% f >> % logdir %\ LOG % fn %. txt mkdir % bkupdir %\%% f ) else ( echo Directory %% f Exists echo Directory %% f Exists >> % logdir %\ LOG % fn %. txt )

53 54

:: Run mysqldump on each database and compress the data by piping

[email protected]

AIG–RTC Dublin

83

Batch script to Backup Bugzilla

55 56 57

58

59

60 61 62

through gZip echo Backing up database %% f % fn %. sql . gz echo Backing up database %% f % fn %. sql . gz >> % logdir %\ LOG % fn %. txt % mysqldir %\ bin \ mysqldump -- user =% dbuser % -- password =% dbpass % -- databases %% f -- opt -- quote - names -- allow - keywords -- complete - insert | % zip % > % bkupdir %\%% f \%% f % fn %. sql . gz echo Done ... echo Done ... >> % logdir %\ LOG % fn %. txt )

63 64

65

:: Go back and get the end time for the script set endtime =1 goto : GETTIME

66 67 68 69 70 71

72

: END :: Write to the log file echo . >> % logdir %\ LOG % fn %. txt echo - - - - - - - - - - - - - - - - - - - - - - - - - - - >> % logdir %\ LOG % fn %. txt echo MySQLDump Process Finished >> % logdir %\ LOG % fn %. txt echo End Time = % yy % -% mm % -% dd % % hh %:% ii %:% ss % >> % logdir %\ LOG % fn %. txt echo . >> % logdir %\ LOG % fn %. txt

73 74

:: Return to the scripts dir popd

75 76 77

78

79

:: Send the log file in an e - mail c :\ bmail -s emearelay . exchange . ukdc . aig . com -f konrad . florczak@aig . com -t Konrad . Florczak@aig . com -a " MySQL ␣ Backup " -b " Bugzilla ␣ DB ␣ has ␣ been ␣ successfully ␣ dumped ␣ yesterday ␣ at ␣ 11 pm . ␣ To ␣ see ␣ log ␣ file ␣ go ␣ to ␣ % logdir %\ LOG % fn %. txt ␣ ␣ ␣ ␣ ␣ ␣ gzip ␣ file ␣ is ␣ located ␣ here ␣ % bkupdir % "

Mémoire de fin d’études

Konrad Florczak