2. Information Systems, defined
Types of IS
IS Challenges
APIs for Platform Agnostic
Communication
3.
4. a system composed of people and
computers that processes
information [wikipedia]
a system of functions concerning
the acquisition and transfer of
information, the carriers of which
can be biological, personal, social
or technical units [principia
cybernetica]
an integrated set of components
for collecting, storing, and
processing data and for delivering
information, knowledge, and
digital products [britannica]
5.
6. data warehouses (OLAP)
enterprise resource planning
(CRM, Inventory , Sales)
expert systems
search engines
geographic information system
office automation
12. a set of routines, protocols, and tools for building
software applications [wikipedia]
code that allows two software programs to communicate
with each other [techtarget]
defines the proper way for a developer to request
services from that program [computer world]
APIs are…
13. 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
http://ref.x86asm.net/coder32.html
14. /* Setup cube vertex data. */
v[0][0] = v[1][0] = v[2][0] = v[3][0] = -1;
v[4][0] = v[5][0] = v[6][0] = v[7][0] = 1;
v[0][1] = v[1][1] = v[4][1] = v[5][1] = -1;
v[2][1] = v[3][1] = v[6][1] = v[7][1] = 1;
v[0][2] = v[3][2] = v[4][2] = v[7][2] = 1;
v[1][2] = v[2][2] = v[5][2] = v[6][2] = -1;
/* Enable a single OpenGL light. */
glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHTING);
/* Use depth buffering for hidden surface elimination. */
glEnable(GL_DEPTH_TEST);
/* Setup the view of the cube. */
glMatrixMode(GL_PROJECTION);
gluPerspective( /* field of view in degree */ 40.0,
/* aspect ratio */ 1.0,
/* Z near */ 1.0, /* Z far */ 10.0);
glMatrixMode(GL_MODELVIEW);
gluLookAt(0.0, 0.0, 5.0, /* eye is at (0,0,5) */
0.0, 0.0, 0.0, /* center is at (0,0,0) */
0.0, 1.0, 0.); /* up is in positive Y direction */
20. a software system designed to
support interoperable machine-to-
machine interaction over a
network
has an interface described in a
machine-processable format
21. a software architecture style consisting
of guidelines and best practices for
creating scalable web services.
23. base URI, such as
http://example.com/resources/
an Internet media type for the
data. This is often JSON but can be
any other valid Internet media type
(e.g. XML, Atom, microformats,
images, etc.)
standard HTTP methods (e.g., GET,
PUT, POST, or DELETE)
hypertext links to reference state
hypertext links to reference related
resources
24. Resource
GET PUT POST DELETE
Collection URI, such as
http://api.example.com/v1/re
sources/
List the URIs and perhaps
other details of the collection's
members.
Replace the entire collection
with another collection.
Create a new entry in the
collection.
Delete the entire collection.
Element URI, such as
http://api.example.com/v1/re
sources/item17
Retrieve a representation of
the addressed member of the
collection.
Replace the addressed
member of the collection, or if
it does not exist, create it.
-
Delete the addressed member
of the collection.
25. Paypal/ Stripe (Billing)
OpenStreetMaps [nomatim] (Geospatial
services)
data.worldbank.org (statistics)
GNU Health (ERP for healthcare)
Simple Object Access Protocol (SOAP) based web services and service-oriented architecture (SOA)
A uniform interface separates clients from servers. This separation of concerns means that, for example, clients are not concerned with data storage, which remains internal to each server, so that the portability of client code is improved. Servers are not concerned with the user interface or user state, so that servers can be simpler and more scalable. Servers and clients may also be replaced and developed independently, as long as the interface between them is not altered.
The client–server communication is further constrained by no client context being stored on the server between requests. Each request from any client contains all the information necessary to service the request, and session state is held in the client.
As on the World Wide Web, clients can cache responses. Responses must therefore, implicitly or explicitly, define themselves as cacheable, or not, to prevent clients from reusing stale or inappropriate data in response to further requests.
A client cannot ordinarily tell whether it is connected directly to the end server, or to an intermediary along the way. Intermediary servers may improve system scalability by enabling load balancing and by providing shared caches. They may also enforce security policies.