SlideShare a Scribd company logo
Our Promise For consumers and institutions to have accurate, up-to-the-minute access to financial information and their cash and credit regardless of their location or means of access. CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
Technical Features State-of-the-art Highly scalable Fault-tolerant Multi-tasking Real-time Distributed, geographically-independent Demand-based information sharing CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
Data Access Layer Implementation CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
Technical Implementation Sun Microsystems Blade Servers running Sun OpenSolariscrontab, shell scripts, perl Oracle RDBMS stored procedures, triggers Java JDBC and core Java Adobe Creative Suite 5 with Master Collection with Dreamweaver front-end: WYSWYG HTML tool Oracle Weblogic Webserver Apple Computer iPhone, iPad Apps using Mac OS-X Snow Leopard with Objective-C CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
Compute the penalty on not keeping the minimum balance in a checking account. create or replace package minbal_penalty as   function compute_new_bal(intcurrent_bal, intmin_bal, intinterest_rate) return;end; created or replace function compute_new_bal(NUMBER current_bal IN, NUMBER min_bal IN, NUMBER interest_rate IN) return NUMBER is begin    if current_bal < min_bal then new_bal := new_bal + current_bal * (interest_rate * .01);    else new_bal:= current_bal;    end if; return new_bal; end; / CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
Oracle PL/SQL Stored Procedures and Functions Assess a bank fee on an account with a balance that does not meet the minimum balance requirement. The current bank balance is $10,000 The minimum balance is $25,000 not to assess a penalty The penalty interest rate is 1.5% per month CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
Java JDBC interface Java JDBC code calls Oracle stored procedures, which reside on their database server to maximize throughput, or transmission speed. CHANGING THE DATABASE import java.sql.* public class InterestRate () {     /* Connect to database */ class.forName( “sun.jdbc.cdbc.JdbcOdbcDriver”);     Database = DriverManager.getConnection(url.userID.password);      /* Call stored procedure with JDBC code  */     … } CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
// COMPUTE YOUR BALANCE AFTER A MINIMUM-BALANCE PENALTY cs= this.con.prepareCall("{call COMPUTE_BALANCE_AFTER_PENALTY(?,?,?,?)}"); cs.setFloat(1, currentBalArg); cs.setFloat(2, minimumBalWithoutPenalty); cs.setFloat(3, penaltyInterestAssesssed); cs.setFloat(4, endingBalanceArg); cs.registerOutParameter(4, Types.NUMERIC); cs.execute(); // Hand data off to presentation layer // This could be: // For web browsers: embedded HTML // For mobile devices; Apple Computer // Objective-C for iPhone, iPad } CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
// REVIEW CREDIT CARD INFORMATION public static void viewCreditCardBalance(Connection con) throws SQLException {     String query = "select TRANS_DATE, MERCHANT_NAME, PRICE from CC_ACCT_TRAN";     try (Statement stmt = con.createStatement()) { ResultSetrs = stmt.executeQuery(query); while (rs.next()) { Date transactionDate= rs.geDate(”TRANS_DATE"); String merchantName= rs.getInt(”MERCHANT");         float price = rs.getFloat("PRICE"); System.out.println(transactionDate+ ", " + merchantName+ ", " + price);       }     } catch (SQLException e) {       JDBCTutorialUtilities.printSQLException(e); } CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup

More Related Content

Similar to Citicorp Presentation

Ebs dba con4696_pdf_4696_0001
Ebs dba con4696_pdf_4696_0001Ebs dba con4696_pdf_4696_0001
Ebs dba con4696_pdf_4696_0001
jucaab
 
Infinum Android Talks #14 - Data binding to the rescue... or not (?) by Krist...
Infinum Android Talks #14 - Data binding to the rescue... or not (?) by Krist...Infinum Android Talks #14 - Data binding to the rescue... or not (?) by Krist...
Infinum Android Talks #14 - Data binding to the rescue... or not (?) by Krist...
Infinum
 
Real-Time Query for Data Guard
Real-Time Query for Data Guard Real-Time Query for Data Guard
Real-Time Query for Data Guard
Uwe Hesse
 
Pixels_Camp
Pixels_CampPixels_Camp
Pixels_Camp
Nelson Gomes
 
Walking Through Spring Cloud Data Flow
Walking Through Spring Cloud Data FlowWalking Through Spring Cloud Data Flow
Walking Through Spring Cloud Data Flow
VMware Tanzu
 
Build12 factorappusingmp
Build12 factorappusingmpBuild12 factorappusingmp
Build12 factorappusingmp
Emily Jiang
 
EXP_DBA RESUME
EXP_DBA RESUMEEXP_DBA RESUME
EXP_DBA RESUME
SURAJ HANCHATE
 
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex HenevaldCloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
buildacloud
 
VCE VBLOCK SYSTEMS
VCE VBLOCK SYSTEMSVCE VBLOCK SYSTEMS
VCE VBLOCK SYSTEMS
EMC Nederland
 
VenkateshVG
VenkateshVGVenkateshVG
Giga Spaces Data Grid / Data Caching Overview
Giga Spaces Data Grid / Data Caching OverviewGiga Spaces Data Grid / Data Caching Overview
Giga Spaces Data Grid / Data Caching Overview
jimliddle
 
Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...
Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...
Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...
NetworkCollaborators
 
Abhishek_Kumar
Abhishek_KumarAbhishek_Kumar
Abhishek_Kumar
Abhishek Kumar
 
Atm System
Atm SystemAtm System
Atm System
Nila Kamal Nayak
 
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
Dr. Wilfred Lin (Ph.D.)
 
Airline Reservation system(project report of six week training)-ppt
Airline Reservation system(project report of six week training)-pptAirline Reservation system(project report of six week training)-ppt
Airline Reservation system(project report of six week training)-ppt
Punjab technical University
 
KaranDeepSinghCV
KaranDeepSinghCVKaranDeepSinghCV
KaranDeepSinghCV
Karandeep Singh
 
Ibm xamarin gtruty
Ibm xamarin gtrutyIbm xamarin gtruty
Ibm xamarin gtruty
Ron Favali
 
N01 cloud computing_and_gae
N01 cloud computing_and_gaeN01 cloud computing_and_gae
N01 cloud computing_and_gae
Sun-Jin Jang
 
Impact2014 session # 1523 performance optimization using ibm java on z and w...
Impact2014  session # 1523 performance optimization using ibm java on z and w...Impact2014  session # 1523 performance optimization using ibm java on z and w...
Impact2014 session # 1523 performance optimization using ibm java on z and w...
Elena Nanos
 

Similar to Citicorp Presentation (20)

Ebs dba con4696_pdf_4696_0001
Ebs dba con4696_pdf_4696_0001Ebs dba con4696_pdf_4696_0001
Ebs dba con4696_pdf_4696_0001
 
Infinum Android Talks #14 - Data binding to the rescue... or not (?) by Krist...
Infinum Android Talks #14 - Data binding to the rescue... or not (?) by Krist...Infinum Android Talks #14 - Data binding to the rescue... or not (?) by Krist...
Infinum Android Talks #14 - Data binding to the rescue... or not (?) by Krist...
 
Real-Time Query for Data Guard
Real-Time Query for Data Guard Real-Time Query for Data Guard
Real-Time Query for Data Guard
 
Pixels_Camp
Pixels_CampPixels_Camp
Pixels_Camp
 
Walking Through Spring Cloud Data Flow
Walking Through Spring Cloud Data FlowWalking Through Spring Cloud Data Flow
Walking Through Spring Cloud Data Flow
 
Build12 factorappusingmp
Build12 factorappusingmpBuild12 factorappusingmp
Build12 factorappusingmp
 
EXP_DBA RESUME
EXP_DBA RESUMEEXP_DBA RESUME
EXP_DBA RESUME
 
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex HenevaldCloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
 
VCE VBLOCK SYSTEMS
VCE VBLOCK SYSTEMSVCE VBLOCK SYSTEMS
VCE VBLOCK SYSTEMS
 
VenkateshVG
VenkateshVGVenkateshVG
VenkateshVG
 
Giga Spaces Data Grid / Data Caching Overview
Giga Spaces Data Grid / Data Caching OverviewGiga Spaces Data Grid / Data Caching Overview
Giga Spaces Data Grid / Data Caching Overview
 
Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...
Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...
Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...
 
Abhishek_Kumar
Abhishek_KumarAbhishek_Kumar
Abhishek_Kumar
 
Atm System
Atm SystemAtm System
Atm System
 
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
 
Airline Reservation system(project report of six week training)-ppt
Airline Reservation system(project report of six week training)-pptAirline Reservation system(project report of six week training)-ppt
Airline Reservation system(project report of six week training)-ppt
 
KaranDeepSinghCV
KaranDeepSinghCVKaranDeepSinghCV
KaranDeepSinghCV
 
Ibm xamarin gtruty
Ibm xamarin gtrutyIbm xamarin gtruty
Ibm xamarin gtruty
 
N01 cloud computing_and_gae
N01 cloud computing_and_gaeN01 cloud computing_and_gae
N01 cloud computing_and_gae
 
Impact2014 session # 1523 performance optimization using ibm java on z and w...
Impact2014  session # 1523 performance optimization using ibm java on z and w...Impact2014  session # 1523 performance optimization using ibm java on z and w...
Impact2014 session # 1523 performance optimization using ibm java on z and w...
 

Recently uploaded

Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 

Recently uploaded (20)

Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 

Citicorp Presentation

  • 1. Our Promise For consumers and institutions to have accurate, up-to-the-minute access to financial information and their cash and credit regardless of their location or means of access. CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
  • 2. Technical Features State-of-the-art Highly scalable Fault-tolerant Multi-tasking Real-time Distributed, geographically-independent Demand-based information sharing CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
  • 3. Data Access Layer Implementation CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
  • 4. Technical Implementation Sun Microsystems Blade Servers running Sun OpenSolariscrontab, shell scripts, perl Oracle RDBMS stored procedures, triggers Java JDBC and core Java Adobe Creative Suite 5 with Master Collection with Dreamweaver front-end: WYSWYG HTML tool Oracle Weblogic Webserver Apple Computer iPhone, iPad Apps using Mac OS-X Snow Leopard with Objective-C CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
  • 5. Compute the penalty on not keeping the minimum balance in a checking account. create or replace package minbal_penalty as function compute_new_bal(intcurrent_bal, intmin_bal, intinterest_rate) return;end; created or replace function compute_new_bal(NUMBER current_bal IN, NUMBER min_bal IN, NUMBER interest_rate IN) return NUMBER is begin if current_bal < min_bal then new_bal := new_bal + current_bal * (interest_rate * .01); else new_bal:= current_bal; end if; return new_bal; end; / CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
  • 6. Oracle PL/SQL Stored Procedures and Functions Assess a bank fee on an account with a balance that does not meet the minimum balance requirement. The current bank balance is $10,000 The minimum balance is $25,000 not to assess a penalty The penalty interest rate is 1.5% per month CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
  • 7. Java JDBC interface Java JDBC code calls Oracle stored procedures, which reside on their database server to maximize throughput, or transmission speed. CHANGING THE DATABASE import java.sql.* public class InterestRate () { /* Connect to database */ class.forName( “sun.jdbc.cdbc.JdbcOdbcDriver”); Database = DriverManager.getConnection(url.userID.password); /* Call stored procedure with JDBC code */ … } CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
  • 8. // COMPUTE YOUR BALANCE AFTER A MINIMUM-BALANCE PENALTY cs= this.con.prepareCall("{call COMPUTE_BALANCE_AFTER_PENALTY(?,?,?,?)}"); cs.setFloat(1, currentBalArg); cs.setFloat(2, minimumBalWithoutPenalty); cs.setFloat(3, penaltyInterestAssesssed); cs.setFloat(4, endingBalanceArg); cs.registerOutParameter(4, Types.NUMERIC); cs.execute(); // Hand data off to presentation layer // This could be: // For web browsers: embedded HTML // For mobile devices; Apple Computer // Objective-C for iPhone, iPad } CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup
  • 9. // REVIEW CREDIT CARD INFORMATION public static void viewCreditCardBalance(Connection con) throws SQLException { String query = "select TRANS_DATE, MERCHANT_NAME, PRICE from CC_ACCT_TRAN"; try (Statement stmt = con.createStatement()) { ResultSetrs = stmt.executeQuery(query); while (rs.next()) { Date transactionDate= rs.geDate(”TRANS_DATE"); String merchantName= rs.getInt(”MERCHANT"); float price = rs.getFloat("PRICE"); System.out.println(transactionDate+ ", " + merchantName+ ", " + price); } } catch (SQLException e) { JDBCTutorialUtilities.printSQLException(e); } CITIGROUP GLOBAL INFORMATION SYSTEM (CGIS) © 2011 Citigroup