Amazon S3 – An SOA By: Minam Ulhaq.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Building and using REST information services Rion Dooley.
Introduction to Web Services
Distributed Information System December 7, 20091Alvin MACCHIONE - Rémy JAVELLE.
Data Source in MicroStrategy
Siebel Web Services Siebel Web Services March, From
31242/32549 Advanced Internet Programming Advanced Java Programming
Web Services Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
JamesRH  7 major AWS Services (  Amazon E-Commerce Service (ECS)  Amazon.
STANFORD UNIVERSITY INFORMATION TECHNOLOGY SERVICES IT Services Storage And Backup Low Cost Central Storage (LCCS) January 9,
Amazon Web Services (aws) B. Ramamurthy. Introduction  Amazon.com, the online market place for goods, has leveraged the services that worked for their.
Amazon Web Services and Eucalyptus
CIS 375—Web App Dev II SOAP.
XML in the real world (2) SOAP. What is SOAP? ► SOAP stands for Simple Object Access Protocol ► SOAP is a communication protocol ► SOAP is for communication.
SOAP SOAP is a protocol for accessing a Web Service. SOAP stands for Simple Object Access Protocol * SOAP is a communication protocol * SOAP is for communication.
1 Web Services – Part I CS , Spring 2008/9.
Introduction to Web Services and Web API’s Richard Holowczak Baruch College December, 2014.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Nikolay Tomitov Technical Trainer SoftAcad.bg.  What are Amazon Web services (AWS) ?  What’s cool when developing with AWS ?  Architecture of AWS 
Software – Part 3 V.T. Raja, Ph.D., Information Management College of Business Oregon State University.
CS 415 N-Tier Application Development By Umair Ashraf July 6,2013 National University of Computer and Emerging Sciences Lecture # 9 Introduction to Web.
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
SOAP Simple Object Access Protocol by Vinubalaji Gopal (Vinu)
Publishing and transporting Web Services over XMPP
SSC2: Web Services. Web Services Web Services offer interoperability using the web Web Services provide information on the operations they can perform.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Outline  Enterprise System Integration: Key for Business Success  Key Challenges to Enterprise System Integration  Service-Oriented Architecture (SOA)
Lecture 15 Introduction to Web Services Web Service Applications.
Dodick Zulaimi Sudirman Lecture 14 Introduction to Web Service Pengantar Teknologi Internet Introduction to Internet Technology.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
What is and How Does it Work?  Electronic mail ( ) is the most popular use of the Internet. It is a fast and inexpensive way of sending messages.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Copyright © 2013 Curt Hill SOAP Protocol for exchanging data and Enabling Web Services.
XML and Web Services (II/2546)
Kemal Baykal Rasim Ismayilov
GEO PLACES EXPLORER PRESENTED BY KHUSHBOO BAGHADIYA SUMANA VENKATESH.
Web Server Design Week 15 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 4/21/10.
Web Services An Introduction Copyright © Curt Hill.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
Web Services. Web Service: Simple definition : “ Service Offered On the Web “ Technically : “ A Web Service is a programmable application component that.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
XML 1. Chapter 8 © 2013 Pearson Education, Inc. Publishing as Prentice Hall SAMPLE XML SCHEMA (XSD) 2 Schema is a record definition, analogous to the.
REST API Design. Application API API = Application Programming Interface APIs expose functionality of an application or service that exists independently.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
National College of Science & Information Technology.
Java Web Services Orca Knowledge Center – Web Service key concepts.
Amazon Web Services (aws)
Sabri Kızanlık Ural Emekçi
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
z/Ware 2.0 Technical Overview
Data Bridge Solving diverse data access in scientific applications
Amazon Storage- S3 and Glacier
WEB SERVICES.
Unit – 5 JAVA Web Services
GF and RS, Dept. of CS, Mangalore University
WEB API.
Building a Database on S3
Web Server Design Week 16 Old Dominion University
Distributed Systems through Web Services
Internet Protocols IP: Internet Protocol
WEB SERVICES From Chapter 19, Distributed Systems
Web Application Development Using PHP
Presentation transcript:

Amazon S3 – An SOA By: Minam Ulhaq

What is SOA? SOA – Service Oriented Architecture S – Service is basically an independent component that has a certain function. (e.g. Viewing online bank statement, filling out an app for an account). Emphasis on modularity and loose coupling (implementation hidden)‏ A – Architecture basically means this is not a technology but an approach to software design

What is SOA? How do services talk to eachother? In the past through COMs or ORBs, but recent SOAs using Web Service (i.e. XML based messaging)‏ Adhoc philosophy Platform, language, OS independent. More recently, services are being offered for a price, like in the travel industry, financing, using off the shelf software services

What is Amazon S3? S3 = Simple Storage Service A SOA which provides online storage using web services. Allows read, write, and delete permissions on objects Uses REST and SOAP protocols for messaging, so you can use various development toolkits with S3.

How it Works Store data on Amazon’s distributed system containing multiple servers within Amazon’s data center locations Data takes time to propagate Can store it in North America or Europe Amazon doesn’t offer you a GUI based tool to access your data. You can use one of the several tools online or build one through APIs

Amazon S3 - Components Objects The information you're storing. Consist of metadata System Metadata – Request ID Headers, useful for Amazon staff User Metadata - 2kb Max. Date last modified, file size, or anything else you would like. Data (5GB Max)‏

Amazon S3 - Components Buckets Container. Each object is inside of a container. Buckets are owned by an AWS account http://mybucket.s3.amazonaws.com If you have a file called hi.txt in the above bucket, it would be stored in http://mybucket.s3.amazonaws.com/hi.txt

Amazon S3 - Components Keys Files are represented as unique keys within a bucket. In reality the key is basically your file name Example: http://bucket.s3.amazonaws.com/file.txt file.txt is the unique key

Amazon S3 - Operations Use either the REST or SOAP API to do the following and more Create a bucket Write an object Read an object Delete an object (Be careful not to rapidly create and delete an object)‏ List the keys (files)‏

Amazon S3 – Build your own APP Java Example Operations // Access Key – Identified you as the requester. Associated with your // account, this is sent in plaintext in the message //Secret Access Key – Used to generate a signature, not sent as //plaintext AWSAuthConnection conn = new AWSAuthConnection("[aws-access-key-id]", "[aws-secret- access-key-id]"); Response response = conn.createBucket("[bucket-name]", null); if (response.connection.getResponseCode() == 200) { // bucket was created } else { // something bad happened }

Amazon S3 – Java Example Operations // simple list ListBucketResponse response = conn.listBucket("[bucket-name]", null, null, null, null); List objects = response.entries; for (Iterator it = objects.iterator(); it.hasNext(); ) { ListEntry entry = (ListEntry)it.next(); System.out.println("key = " + entry.key + " size = " + entry.size); } // list only things starting with "foo" response = conn.listBucket("[bucket-name]", "foo", null, null, null); // list only things that come after "bar" alphabetically response = conn.listBucket("[bucket-name]", null, "bar", null, null); // only list 3 things response = conn.listBucket("[bucket-name]", null, null, new Integer(3), null);

Amazon S3 – Your Data Put a new object Direct Internet Message Encapsulation (DIME) is a specification for sending and receiving SOAP messages along with additional attachments //HEADER 00001 1 0 0 0010 000000000000000000000000000000000000 000000000010100000000000000000000000000110110101 http://schemas.xmlsoap.org/soap/envelope <soap-env:Envelope xmlns:soap-env=http://schemas.xmlsoap.org/soap/envelope/ xmlns:msg=http://example.com/DimeExample/Messages/ xmlns:ref= http://schemas.xmlsoap.org/ws/2002/04/reference/ <soap-env:Body> <msg:GetMediaFile> <msg:fileName>myMediaFile.mpg </msg:fileName> <msg:file ref:location= "uuid:F2DA3C9C-74D3-4A46-B925-B150D62D9483" /> </msg:GetMediaFile> </soap-env:Body> </soap-env:Envelope> ------------------------------------------------------------------------- 00001 0 0 1 0001 000000000000000000000000000000101001 000000000000101000000000000101011010101011100000 uuid:F2DA3C9C-74D3-4A46-B925-B150D62D9483 video/mpeg <<First 1.42 MB of binary data for myMediaFile.mpg>> ------------------------------------------------------------------------- 00001 0 1 0 0000 000000000000000000000000000000000000 000000000000000000000000000010000110110001000000 <<Remaining 552 KB of binary data for myMediaFile.mpg>>

Amazon S3 – Other Supported Languages C#, Perl, PHP, Ruby, Python

Amazon S3 – Other Options Redirect Routing when route error

Cost United States Storage Data Transfer Requests $0.150 per GB – first 50 TB / month of storage used $0.140 per GB – next 50 TB / month of storage used $0.130 per GB – next 400 TB /month of storage used $0.120 per GB – storage used / month over 500 TB Data Transfer $0.100 per GB – all data transfer in $0.170 per GB – first 10 TB / month data transfer out $0.130 per GB – next 40 TB / month data transfer out $0.110 per GB – next 100 TB / month data transfer out $0.100 per GB – data transfer out / month over 150 TB Requests $0.01 per 1,000 PUT, COPY, POST, or LIST requests $0.01 per 10,000 GET and all other requests* * No charge for delete requests

Summary SOA allows us to access services we want without having to worry about language, platform, OS diversity Amazon S3 is an easy to use service that allows us to store data on their facilities for a minimal cost, potentially using it for things like torrenting, web hosting, ftp app, online backups, etc.

References Amazon S3 Documentation http://docs.amazonwebservices.com/AmazonS 3/2006-03-01/gsg/ Programming Amazon Web Services. http://books.google.com/books?id=xIauw5xWT O8C&pg=PA107&dq=amazon+s3&ei=Qbs8Scn 4HpH6lQTAmeTvCg Wikipedia: Service Oriented Architecture. http://en.wikipedia.org/wiki/Service- oriented_architecture