v
BINUS INTERNATIONAL
UNIVERSITAS BINA NUSANTARA
Major Computer Science Sarjana Komputer Thesis Semester [Even] year 2007
AN INTEGRATED MOBILE WEB SOLUTION FOR GAYA HIDUP SEHAT (GHS) TABLOID:
THE IMPLEMENTATION OF WEB SERVICES
Shierly Wiryadi (0700675715)
Abstract
At present, Gaya Hidup Sehat (GHS) tabloid only owns a website that can only be accessed from the computer that is connected to the Internet. The user cannot have anywhere and anytime access to the system. As the solution to this problem, we propose mobile application supported by web services solution as the intermediary application between the mobile and the database.
The web services will be invoked only when it is required; only when the user invokes a process in the mobile application. In developing our application, we implement the Rapid Application Methodology as it the most appropriate with our situation which has limited time and possible to have some changes of scope during the creation of the application. The technique involved in developing this system contains several steps. First, we analyze what services are required by the mobile application, followed by identifying the functionality or operations of each the services, and what they provides. Then, we develop the application using ASP.NET and supported with MySQL server to manage database.
In conclusion, an integrated mobile web solution is a better approach for the GHS current system and it is also expected that the GHS system will be more enhanced and widely used in the future.
Key words
vi
PREFACE
We would like to gratitude all parties who have helped us so that we can finish this thesis on time and within scope. This thesis creates an integrated mobile web solution for the Gaya Hidup Sehat (GHS) tabloid. Furthermore, this thesis is created as a mandatory in order to be able to graduate from Bina Nusantara University and to gain Sarjana Komputer degree majoring in Computer Science.
The objective of the thesis is to apply what we have learned during our study in Bina Nusantara University. We also would like to thank to several persons who have, directly or indirectly, help us to finish this thesis:
1. Mr Tri Asih Budiono, MIT, our supervisor, who gives us with the idea about how to finish this thesis in a good way and give feedback and opinion regarding our thesis. 2. Mr Raymondus Kosala, Phd, our co-supervisor, who also helps us in solving the problems we face within development period and giving useful ideas.
3. Mr. Puri, the IT manager of GHS, who allows us to create this thesis within GHS and always gives opinion and requirements within development phase.
4. Friends, who helped us directly or indirectly throughout this thesis
In conclusion, we hope that our thesis could be an example of development in information technology as the implementation of what we have studied in this campus.
vii
TABLE OF CONTENTS
COVER PAGE ... I
ABSTRACT ... V
PREFACE...VI
TABLE OF CONTENTS ... VII
LIST OF FIGURES ... XII
LIST OF TABLES ... XV
CHAPTER 1 ...1
INTRODUCTION ...1
1.1BACKGROUND...1
1.2PERCEIVED PROBLEM...2
1.3PROPOSED SOLUTION...3
1.4SCOPE...4
1.5AIM AND BENEFITS...5
1.6STRUCTURE...6
CHAPTER 2 ...8
THEORETICAL FOUNDATION ...8
2.1THE MOBILE INTERNET...8
2.2.WORLD WIDE WEB (WWW) ...9
2.2.1 Web Browser... 10
viii
2.2.3 Hypertext Markup Language (HTML) ... 10
2.2.4 Hypertext Transport Protocol (HTTP)... 10
2.2.5 Multipurpose Internet Mail Extensions (MIME) ... 11
2.2.6 eXtensible Markup Language (XML) ... 11
2.2.7 Web Server ... 12
2.3DATABASE...12
2.3.1 The Relational Model ... 13
2.3.2 Entity, Attribute and Relationships... 13
2.3.3 Stored Procedure ... 13
2.3.4 MySQL ... 15
2.4SERVICE ORIENTED ARCHITECTURE (SOA)...15
2.4.1 Service... 16
2.4.2 Connection... 17
2.4.3 SOA Triangle (Bind/Publish/Find)... 17
2.4.4 Security... 18
2.5WEB SERVICE...19
2.5.1 The Advantages of Web Service ... 21
2.5.2 Web Service: The Application-Centric Web... 21
2.5.3 Web Service Architecture ... 22
2.5.5 Web Services Description Language (WSDL) ... 28
2.6RAPID APPLICATION DEVELOPMENT (RAD) ...31
2.7PROCESS MODELING...32
2.7.1 Data Flow Diagram (DFD) ... 33
2.7.2 Context Diagram... 33
2.7.3 System Flowchart... 33
2.7.4 Use Case... 34
2.7.5 Activity Diagram... 34
ix
CHAPTER 3 ...37
ANALYSIS ON THE EXISTING SYSTEM ...37
3.1COMPANY HISTORY...37
3.2COMPANY ORGANIZATIONAL STRUCTURE...38
3.3POLICY AND PROCEDURE...40
3.4CONTEXT DIAGRAM...41
3.4.1 Data Flow Diagram ... 42
3.4.2 System Flowchart... 43
3.5EXISTING PROBLEMS...43
4.1.2 Procedure... 48
4.2DATA FLOW DIAGRAM...49
4.2.1 Context Diagram... 49
4.2.2 Detailed Data Flow Diagram Level 1... 50
4.2.3 Detailed Data Flow Diagram Level 2 ... 51
4.2.4 System Flowchart... 52
4.3SYSTEM DATA...53
4.3.1 Data Dictionary Data ... 53
4.3.2 Data Normalization and Entity Relationship (ER) Diagram... 56
4.3.3 File Specification ... 60
4.4PROCESS SPECIFICATION...99
x
4.4.2 Application Interface Design ...100
4.4.3 Class Diagram...102
4.4.4 Sequence Diagram...102
4.4.5 Activity Diagram...107
4.5STORED PROCEDURE...115
4.6SOASERVICES...116
CHAPTER 5 ...121
SYSTEM IMPLEMENTATION ...121
5.1SYSTEM SPECIFICATION...121
5.2OPERATIONAL PROCEDURE...122
5.3IMPLEMENTATION STRATEGY...123
5.4SERVICES DETAILS...124
5.5TEST PLAN...134
5.6INTEGRATION TESTING...140
CHAPTER 6 ...142
DISCUSSION ...142
6.1SCOPE...143
6.2AIM AND BENEFIT...143
6.3COMPARISON BETWEEN .NET AND J2EE ...144
6.3.1 Loosely – Tightly Coupled...145
6.3.2 Developer Skills and Infrastructure...145
6.3.3 Security Between .NET and J2EE ...146
6.4USER ACCEPTANCE TESTING RESULT...147
6.5DEVELOPMENT DIFFICULTIES...149
xi
CONCLUSION AND RECOMMENDATION ...150
7.1CONCLUSION...150
7.2RECOMMENDATION...151
xii
LIST OF FIGURES
FIGURE 2.1 SERVICE-ORIENTED ARCHITECTURE BASICS [7]...17
FIGURE 2.2 THE SOA TRIANGLE [6] ...17
FIGURE 2.3 A BASIC WEB SERVICE [10] ...19
FIGURE 2.4 WEB SERVICES PROVIDES AN ABSTRACTION LAYER BETWEEN THE APPLICATION CLIENT AND THE APPLICATION CODE [15]...20
FIGURE 2.5 MESSAGE EXCHANGE PATTERN [6] ...25
FIGURE 2.6 MAIN ELEMENTS OF XML SOAP MESSAGE [6] ...26
FIGURE 2.7 SOAP REQUEST MESSAGE IS POSTED TO THE HTTP SERVER AND RESPONSE MESSAGE IS RETURNED OVER THE SAME HTTP CONNECTION [15] ...27
FIGURE 2.8 STRUCTURE OF WSDL 1.1 [12] ...28
FIGURE 2.9 OPERATION PATTERN SUPPORTED BY WSDL 1.1 [10] ...30
FIGURE 2.10 RAD PROCESS MODEL [3]...31
FIGURE 2.11 MICROSOFT .NET FRAMEWORK ARCHITECTURE [9] ...35
FIGURE 3.1 THE STRUCTURE OF KKG (KELOMPOK KOMPAS GRAMEDIA)...39
FIGURE 3.2 ORGANIZATION STRUCTURE OF SENIOR (GAYA HIDUP SEHAT) TABLOID...39
FIGURE 3.3 CURRENT GHS CONTEXT DIAGRAM...41
FIGURE 3.4 CURRENT GHS DATA FLOW DIAGRAM...42
FIGURE 3. 5 CURRENT GHS SYSTEM FLOWCHART...43
FIGURE 4.1 GHS CONTEXT DIAGRAM...49
FIGURE 4.2 DETAILED DATA FLOW DIAGRAM LEVEL 1 ...50
xiii
FIGURE 4.4 SYSTEM FLOWCHART...52
FIGURE 4.5 ENTITY RELATIONSHIP DIAGRAM (ERD) PART 1...57
FIGURE 4.6 ENTITY RELATIONSHIP DIAGRAM (ERD) PART 2...58
FIGURE 4.7 ENTITY RELATIONSHIP DIAGRAM (ERD) PART 3...59
FIGURE 4.8 SYSTEM USE CASE DIAGRAM...99
FIGURE 4.9 APPLICATION INTERFACE DESIGN...100
FIGURE 4.10 THE INTERACTION BETWEEN WEB SERVICES AND MOBILE APPLICATION...101
FIGURE 4.11 CLASS DIAGRAM...102
FIGURE 4.12 REGISTRATION SEQUENCE DIAGRAM...103
FIGURE 4.13 LOGIN SEQUENCE DIAGRAM...103
FIGURE 4.14 SEARCH ARTICLE SEQUENCE DIAGRAM...104
FIGURE 4.15 ARTICLE SUBMISSION SEQUENCE DIAGRAM...105
FIGURE 4.16 SEARCH TRAINING SEQUENCE DIAGRAM...106
FIGURE 4.17 CHANGE PASSWORD SEQUENCE DIAGRAM...106
FIGURE 4.18 REGISTER UML ACTIVITY DIAGRAM...108
FIGURE 4.19 CHANGE PASSWORD UMLACTIVITY DIAGRAM...109
FIGURE 4.20 SEARCH ARTICLE UML ACTIVITY DIAGRAM...110
FIGURE 4.21 SEARCH TRAINING UML ACTIVITY DIAGRAM...111
FIGURE 4.22 GET ARTICLE UML ACTIVITY DIAGRAM...112
FIGURE 4.23 GET ARTICLE LIST UML ACTIVITY DIAGRAM...113
FIGURE 4.24 GET TRAINING UML ACTIVITY DIAGRAM...114
FIGURE 4.25 GET TRAINING LIST UML ACTIVITY DIAGRAM...115
xiv
FIGURE 4.27 GET ARTICLE PROCESS SERVICE MODEL...119
FIGURE 4.28 GET SCHEDULE PROCESS SERVICE MODEL...120
FIGURE 5.1 SERVICE INDEX SCREENSHOT...125
FIGURE 5.2 GET ARTICLE LIST COUNT SERVICE...126
FIGURE 5.3 GET ARTICLE LIST COUNT RESULT SCREENSHOT...126
FIGURE 5.4 GET ARTICLE LIST SERVICE SCREENSHOT...127
FIGURE 5.5 GET ARTICLE LIST RESULT SCREENSHOT...128
FIGURE 5.6 GET ARTICLE SERVICE SCREENSHOT...129
FIGURE 5.7 GET ARTICLE RESULT SCREENSHOT...129
FIGURE 5.8 GET CATEGORY SERVICE SCREENSHOT...130
FIGURE 5.9 GET CATEGORY RESULT SCREENSHOT...130
FIGURE 5.10 SEARCH ARTICLE SERVICE SCREENSHOT...131
FIGURE 5.11 SEARCH ARTICLE RESULT SCREENSHOT...131
FIGURE 5.12 GET TRAINING LIST COUNT...132
FIGURE 5.13 GET TRAINING LIST COUNT RESULT SCREENSHOT...132
FIGURE 5.14 GET TRAINING LIST SERVICE SCREENSHOT...133
FIGURE 5.15 GET TRAINING LIST SERVICE SCREENSHOT...133
FIGURE 6.1 .NET AND JAVA COMPARISON...145
FIGURE 6.2 .NET AND JAVA VULNERABILITIES [23]...146
FIGURE 6. 3 THE APPLICATION RESULT ACCORDINGLY SURVEY...147
FIGURE 6. 4 THE FUNCTIONALITY SURVEY RESULT...148
xv
LIST OF TABLES
TABLE 4.1 AUTHOR ATTRIBUTES TABLE...60
TABLE 4.2 BANNER ATTRIBUTES TABLE...61
TABLE 4.3 BANNER_EDIT ATTRIBUTES TABLE...62
TABLE 4.4 BANNERCLIENT ATTRIBUTES TABLE...62
TABLE 4.5 BANNERCLIENT_EDIT ATTRIBUTES TABLE...63
TABLE 4.6 COUNTER ATTRIBUTES TABLE...64
TABLE 4.7 DOWNLOAD ATTRIBUTES TABLE...64
TABLE 4.8 LBLOCKS ATTRIBUTES TABLE...65
TABLE 4.9 LBLOCKS_EDIT ATTRIBUTES TABLE...65
TABLE 4.10 MOD_ABOUT ATTRIBUTES TABLE...66
TABLE 4.11 MOD__ABOUT_EDIT ATTRIBUTES TABLE...67
TABLE 4.12 MOD_CONTENT ATTRIBUTES TABLE...68
TABLE 4.13 MOD_CONTENT_EDIT ATTRIBUTES TABLE...69
TABLE 4.14 MOD_IKLANBARIS ATTRIBUTES TABLE...70
TABLE 4.15 MOD_IKLANBARIS_EDIT ATTRIBUTES TABLE...71
TABLE 4.16 MOD_IKLANBARIS_CATEGORIES ATTRIBUTES TABLE...72
TABLE 4.17 MOD_IKLANBARIS_CATEGORIES_EDIT ATTRIBUTES TABLE...72
TABLE 4.18 MOD_INFORMASI ATTRIBUTES TABLE...73
TABLE 4.19 MOD_INFORMASI_EDIT ATTRIBUTES TABLE...75
TABLE 4.20 MOD_INFORMASI_TYPE ATTRIBUTES TABLE...76
xvi
TABLE 4.22 MOD_KATALOG ATTRIBUTES TABLE...77
TABLE 4.23 MOD_KATALOG _EDIT ATTRIBUTES TABLE...78
TABLE 4.24 MOD_KATALOG_CATEGORIES ATTRIBUTES TABLE...79
TABLE 4.25 MOD_KATALOG _CATEGORIES_EDIT ATTRIBUTES TABLE...80
TABLE 4.26 MOD_KATALOG _KATAKATE ATTRIBUTES TABLE...80
TABLE 4.27 MOD_KATALOG _RELATED ATTRIBUTES TABLE...81
TABLE 4.28 MOD_KATALOG _RELATED_EDIT ATTRIBUTES TABLE...82
TABLE 4.29 MOD_KATALOG _VALIDATE ATTRIBUTES TABLE...82
TABLE 4.30 MOD_KATALOG _VALIDATE_EDIT ATTRIBUTES TABLE...83
TABLE 4.31 MOD_POLL_COMMENTS ATTRIBUTES TABLE...84
TABLE 4.32 MOD_POLL_DATA ATTRIBUTES TABLE...85
TABLE 4.33 MOD_POLL_DATA_EDIT ATTRIBUTES TABLE...86
TABLE 4.34 MOD_POLL_FLAG ATTRIBUTES TABLE...86
TABLE 4.35 MOD_PUBLISHER ATTRIBUTES TABLE...87
TABLE 4.36 MOD_PUBLISHER_EDIT ATTRIBUTES TABLE...88
TABLE 4.37 MOD_PUBLISHER_CATEGORIES ATTRIBUTES TABLE...88
TABLE 4.38 MOD_PUBLISHER_CATEGORIES_EDIT ATTRIBUTES TABLE...89
TABLE 4.39 MOD_PUBLISHER_FRONTPAGE ATTRIBUTES TABLE...90
TABLE 4.40 MOD_PUBLISHER_FRONTPAGE_EDIT ATTRIBUTES TABLE...91
TABLE 4.41 MOD_PUBLISHER_TOPIK ATTRIBUTES TABLE...91
TABLE 4.42 MODULES ATTRIBUTES TABLE...92
TABLE 4.43 MODULES_EDIT ATTRIBUTES TABLE...93
TABLE 4.44 NEW_REFERER ATTRIBUTES TABLE...94
xvii
TABLE 4.46 RBLOCKS ATTRIBUTES TABLE...95
TABLE 4.47 RBLOCKS_EDIT ATTRIBUTES TABLE...96
TABLE 4.48 USER_MENU ATTRIBUTES TABLE...96
TABLE 4.49 USER ATTRIBUTES TABLE...97
TABLE 4.50 USERS_EDIT ATTRIBUTES TABLE...98
TABLE 5.1 LIST OF TOOLS...121
TABLE 5.2 HARDWARE AND SOFTWARE REQUIREMENT...122
TABLE 5.3 REGISTRATION TEST CASE...134
TABLE 5.4 VERIFY USER (LOGIN) TEST CASE...135
TABLE 5.5 CHANGE PASSWORD TEST CASE...136
TABLE 5.6 SEARCH ARTICLE TEST CASE...138
TABLE 5.7 GET ARTICLE TEST CASE...138