Friday, April 12, 2019

Introduction to client-side development

Information System

An information system (IS) refers to a collection of multiple pieces of equipment involved in the dissemination of information. Hardware, software, computer system connections and information, information system users, and the system’s housing are all part of an IS.

There are several types of information systems, including the following common types:
  • Operations support systems, including transaction processing systems
  • Management information systems
  • Decision support systems
  • Executive information systems

An information system commonly refers to a basic computer system but may also describe a telephone switching or environmental controlling system. The IS involves resources for shared or processed information, as well as the people who manage the system. People are considered part of the system because without them, systems would not operate correctly.

There are many types of information systems, depending on the need they are designed to fill. An operations support system, such as a transaction processing system, converts business data (financial transactions) into valuable information. Similarly, a management information system uses database information to output reports, helping users and businesses make decisions based on extracted data.

In a decision support system, data is pulled from various sources and then reviewed by managers, who make determinations based on the compiled data. An executive information system is useful for examining business trends, allowing users to quickly access custom strategic information in summary form, which can be reviewed in more detail.

Advantages

  • Communication – with help of information technologies the instant messaging, emails, voice and video calls becomes quicker, cheaper and much efficient.


  • Globalization and cultural gap – by implementing information systems we can bring down the linguistic, geographical and some cultural boundaries. Sharing the information, knowledge, communication and relationships between different countries, languages and cultures becomes much easier.


  • Availability – information systems has made it possible for businesses to be open 24×7 all over the globe. This means that a business can be open anytime anywhere, making purchases from different countries easier and more convenient. It also means that you can have your goods delivered right to your doorstep with having to move a single muscle.


  • Creation of new types of jobs – one of the best advantages of information systems is the creation of new and interesting jobs. Computer programmers, Systems analyzers, Hardware and Software developers and Web designers are just some of the many new employment opportunities created with the help of IT.


  • Cost effectiveness and productivity – the IS application promotes more efficient operation of the company and also improves the supply of information to decision-makers; applying such systems can also play an important role in helping companies to put greater emphasis on information technology in order to gain a competitive advantage. IS has a positive impact on productivity, however there are some frustrations can be faced by systems users which are directly linked to lack of training and poor systems performance because of system spread.


Disadvantages

  • Unemployment and lack of job security – implementing the information systems can save a great deal of time during the completion of tasks and some labor mechanic works. Most paperwork’s can be processed immediately, financial transactions are automatically calculated, etc. As technology improves, tasks that were formerly performed by human employees are now carried out by computer systems. For example, automated telephone answering systems have replaced live receptionists in many organizations or online and personal assistants can be good example also. Industry experts believe that the internet has made job security a big issue as since technology keeps on changing with each day. This means that one has to be in a constant learning mode, if he or she wishes for their job to be secure.


  • Dominant culture – while information technology may have made the world a global village, it has also contributed to one culture dominating another weaker one. For example it is now argued that US influences how most young teenagers all over the world now act, dress and behave. Languages too have become overshadowed, with English becoming the primary mode of communication for business and everything else.


  • Security issues – thieves and hackers get access to identities and corporate saboteurs target sensitive company data. Such data can include vendor information, bank records, intellectual property and personal data on company management. The hackers distribute the information over the Internet, sell it to rival companies or use it to damage the company’s image. For example, several retail chains were targeted recently by hackers who stole customer information from their information systems and distributed Social Security numbers and credit card data over the Internet.


  • Implementation expenses – to integrate the information system it require pretty good amount of cost in a case of software, hardware and people. Software, hardware and some other services should be rented, bought and supported. Employees need to be trained with unfamiliar information technology and software.


  • Information systems contribute to the efficient running of organizations. Information systems are showing the exponential growth in each decades. Today’s information technology has tremendously improved quality of life. Modern medicine has benefited the most with better information system using the latest information technology. By understanding and learning what advantages and disadvantages it can bring, we have to try, believe and put an effort with our best to make that existing advantage much better and navigate the disadvantages to have a less impact on organizations and society.


Data

  • factual information (such as measurements or statistics) used as a basis for reasoning, discussion, or calculation
  • information in digital form that can be transmitted or processed
  • information output by a sensing device or organ that includes both useful and irrelevant or redundant information and must be processed to be meaningful


Database

A database (DB), in the most general sense, is an organized collection of data. More specifically, a database is an electronic system that allows data to be easily accessed, manipulated and updated.
In other words, a database is used by an organization as a method of storing, managing and retrieving information. Modern databases are managed using a database management system (DBMS)

Database Server

The term database server may refer to both hardware and software used to run a database, according to the context. As software, a database server is the back-end portion of a database application, following the traditional client-server model. This back-end portion is sometimes called the instance. It may also refer to the physical computer used to host the database. When mentioned in this context, the database server is typically a dedicated higher-end computer that hosts the database.
Note that the database server is independent of the database architecture. Relational databases, flat files, non-relational databases: all these architectures can be accommodated on database servers.

Database Management System

A database management system (DBMS) is a software package designed to define, manipulate, retrieve and manage data in a database. A DBMS generally manipulates the data itself, the data format, field names, record structure and file structure. It also defines rules to validate and manipulate this data. A DBMS relieves users of framing programs for data maintenance. Fourth-generation query languages, such as SQL, are used along with the DBMS package to interact with a database.

  • Some other DBMS examples include:
  • MySQL
  • SQL Server
  • Oracle
  • dBASE
  • FoxPro


File and database

  • A File System is a collection of raw data files stored in the hard-drive, whereas a database is intended for easily organizing, storing and retrieving large amounts of data.
  • In File System, most tasks such as storage, retrieval and search are done manually and it is quite tedious whereas when using a database, the inbuilt DBMS will provide automated methods to complete these tasks
  • Redundancy is control on DBMS whereas in Filesystem it can’t control redundancy
  • Using a File System will lead to problems like data integrity, data inconsistency and data security, but these problems could be avoided by using a database.
  • File system requires excessive program maintenance but in Database minimum maintenance required
  • Unlike a File System, databases are efficient because reading line by line is not required, and certain control mechanisms are in place.


Different Types of Databases

There are different types of databases which are categorised on the basis of their function. The top 12 of these which you may come across are:

Relational Databases
This is the most common of all the different types of databases. In this, the data in a relational database is stored in various data tables. Each table has a key field which is used to connect it to other tables. Hence all the tables are related to each other through several key fields. These databases are extensively used in various industries and will be the one you are most likely to come across when working in IT.
Examples of relational databases are Oracle, Sybase and Microsoft SQL Server and they are often key parts of the process of software development. Hence you should ensure you include any work required on the database as part of your project when creating a project plan and estimating project costs.

Operational Databases
In its day to day operation, an organisation generates a huge amount of data. Think of things such as inventory management, purchases, transactions and financials. All this data is collected in a database which is often known by several names such as operational/ production database, subject-area database (SADB) or transaction databases.
An operational database is usually hugely important to Organisations as they include the customer database, personal database and inventory database ie the details of how much of a product the company has as well as information on the customers who buy them. The data stored in operational databases can be changed and manipulated depending on what the company requires.

Database Warehouses
Organisations are required to keep all relevant data for several years. In the UK it can be as long as 6 years. This data is also an important source of information for analysing and comparing the current year data with that of the past years which also makes it easier to determine key trends taking place. All this data from previous years are stored in a database warehouse. Since the data stored has gone through all kinds of screening, editing and integration it does not need any further editing or alteration.
With this database ensure that the software requirements specification (SRS) is formally approved as part of the project quality plan.

Distributed Databases
Many organisations have several office locations, manufacturing plants, regional offices, branch offices and a head office at different geographic locations. Each of these work groups may have their own database which together will form the main database of the company. This is known as a distributed database.
5.0 End-User Databases
There is a variety of data available at the workstation of all the end users of any organisation. Each workstation is like a small database in itself which includes data in spreadsheets, presentations, word files, note pads and downloaded files. All such small databases form a different type of database called the end-user database.

External Database
There is a sea of information available outside world which is required by an organisation. They are privately-owned data for which one can have conditional and limited access for a fortune. This data is meant for commercial usage. All such databases outside the organisation which are of use and limited access are together called external database.

Hypermedia Database
Most websites have various interconnected multimedia pages which might include text, video clips, audio clips, photographs and graphics. These all need to be stored and called from somewhere when the webpage if created. All of them together form the hypermedia database.
Please note that if you are creating such a database from scratch to be generous when creating a project plan, detailed when defining the business requirements documentation (BRD) and meticulous in your project cost controls. I have seen too many projects where the creation of one of these databases has caused scope creep and an out of control budget for a project.

Navigational Database
Navigational database has all the items which are references from other objects. In this, one has to navigate from one reference to other or one object to other. It might be using modern systems like XPath. One of its applications is the air flight management systems.

In-Memory Database
An in-memory databases stores data in a computers main memory instead of using a disk-based storage system. It is faster and more reliable than that in a disk. They find their application in telecommunications network equipments.
Document-Oriented Database
A document oriented database is a different type of database which is used in applications which are document oriented. The data is stored in the form of text records instead of being stored in a data table as usually happens.

Real-Time Database
A real-time database handles data which constantly keep on changing. An example of this is a stock market database where the value of shares change every minute and need to be updated in the real-time database. This type of database is also used in medical and scientific analysis, banking, accounting, process control, reservation systems etc. Essentially anything which requires access to fast moving and constantly changing information.
Assume that this will require much more time than a normal relational database when it comes to the software testing life cycle, as these are much more complicated to efficiently test within normal timeframes.

Analytical Database
An analytical database is used to store information from different types of databases such as selected operational databases and external databases. Other names given to analytical databases are information databases, management databases or multi-dimensional databases. The data stored in an analytical database is used by the management for analysis purposes, hence the name. The data in an analytical database cannot be changed or manipulated.

Difference between Big Data and Data Warehouse

Data Warehousing is one of the common words for last 1
0-20 years, whereas Big Data is a hot trend for last 5-10 years. Both of them hold a lot of data, used for reporting, managed by an electronic storage device. So one common thought of maximum people that recent big data will replace old data warehousing very soon. But still, big data and data warehousing is not interchangeable as they used totally for a different purpose. So let us start learning Big Data and Data Warehouse in a detail in this post.

Head to Head Comparison between Big Data vs Data Warehouse
Below is the Top 8 Difference Between Big Data vs Data Warehouse


Key Differences between Big Data vs Data Warehouse

The Difference Between Big Data vs Data Warehouse, are explained in the points presented below:

  1. Data Warehouse is an architecture of data storing or data repository. Whereas Big Data is a technology to handle huge data and prepare the repository.
  2. Any kind of DBMS data accepted by Data warehouse, whereas Big Data accept all kind of data including transnational data, social media data, machinery data or any DBMS data.
  3. Data warehouse only handles structure data (relational or not relational), but big data can handle structure, non-structure, semi-structured data.
  4. Big data normally used a distributed file system to load huge data in a distributed way, but data warehouse doesn’t have that kind of concept.
  5. From a business point of view, as big data has a lot of data, analytics on that will be very fruitful, and the result will be more meaningful which help to take proper decision for that organization. Whereas Data warehouse mainly helps to analytic on informed information.
  6. Data warehouse means the relational database, so storing, fetching data will be similar with a normal SQL query. And big data is not following proper database structure, we need to use hive or spark SQL to see the data by using hive specific query.
  7. 100% data loaded into data warehousing are using for analytics reports. But whatever data loaded by Hadoop, maximum 0.5% used on analytics reports till now. Others data are loaded into the system, but in not use status.
  8. Data Warehousing never able to handle humongous data (totally unstructured data). Big data (Apache Hadoop) is the only option to handle humongous data.
  9. The timing of fetching increasing simultaneously in data warehouse based on data volume. Means, it will take small time for low volume data and big time for a huge volume of data just like DBMS. But in case of big data, it will take a small period of time to fetch huge data (as it especially designed for handling huge data), but taken huge time if we somehow try to load or fetch small data in HDFS by using map reduce.



Big Data vs Data Warehouse Comparision Table
BASIS FOR COMPARISON
Data Warehouse
Big Data
Meaning
Data Warehouse is mainly an architecture, not a technology. It extracting data from varieties SQL based data source (mainly relational database) and help for generating analytic reports. In terms of definition, data repository, which using for any analytic reports, has been generated from one process, which is nothing but the data warehouse.
Big Data is mainly a technology, which stands on volume, velocity, and variety of data. Volumes define the amount of data coming from different sources, velocity refers to the speed of data processing, and varieties refer to the number of types of data (mainly support all type of data format).
Preferences
If an organization wants to know some informed decision (like what is going on in their corporation, next year planning based on current year performance data, etc), they prefer to choose data warehousing, as for this kind of report they need reliable or believable data from the sources.
If organization need to compare with a lot of big data, which contain valuable information and help them to take a better decision (like how to lead more revenue, more profitability, more customers, etc), they obviously preferred Big Data approach.
Accepted Data Source
Accepted one or more homogeneous (all sites use the same DBMS product) or heterogeneous (sites may run different DBMS product) data sources.
Accepted any kind of sources, including business transactions, social media, and information from sensor or machine specific data. It can come from a DBMS product or not.
Accepted type of formats
Handles mainly structural data (specifically relational data).
Accepted all types of formats. Structure data, relational data, and unstructured data including text documents, email, video, audio, stock ticker data, and financial transaction.
Subject-Oriented
A data warehouse is subject oriented because it actually provides information on the specific subject (like a product, customers, suppliers, sales, revenue, etc) not on organization ongoing operation. It does not focus on ongoing operation, it mainly focuses on the analysis or displaying data which help on decision making.
Big Data is also subject-oriented, the main difference is a source of data, as big data can accept and process data from all the sources including social media, sensor or machine specific data. It also main on provide exact analysis on data specifically on subject oriented.
Time-Variant
The data collected in a data warehouse is actually identified by a particular time period. As it mainly holds historical data for an analytical report.
Big Data has a lot of approaches to identified already loaded data, a time period is one of the approaches on it. Big data mainly processing flat files, so archive with date and time will be the best approach to identify loaded data. But it has the option to work with streaming data, so it not always holding historical data.
Non-volatile
Previous data never erase when new data added to it. This is one of the major features of a data warehouse. As it totally different from an operational database, so any changes on an operational database will not directly impact to a data warehouse.
For Big data, again previous data never erase when new data added to it. It stored as a file which represents a table. But here sometimes in case of streaming directly use Hive or Spark as an operation environment.
Distributed File System
Processing of huge data in Data Warehousing is really time-consuming and sometimes it took an entire day to complete the process.
This is one of the big utility of Big Data. HDFS (Hadoop Distributed File System) mainly defined to load huge data in distributed systems by using map reduce program.

application components communicate with files and databases

SQL Statements
SQL is a standard language for storing, manipulating and retrieving data in databases.
It is used to :
SELECT - extracts data from a database
UPDATE - updates data in a database
DELETE - deletes data from a database
INSERT INTO - inserts new data into a database
CREATE DATABASE - creates a new database
ALTER DATABASE - modifies a database
CREATE TABLE - creates a new table
ALTER TABLE - modifies a table
DROP TABLE - deletes a table
CREATE INDEX - creates an index (search key)
DROP INDEX - deletes an index

Prepared statements
In database management systems, a prepared statement or parameterized statement is a feature used to execute the same or similar database statements repeatedly with high efficiency. Typically used with SQL statements such as queries or updates, the prepared statement takes the form of a template into which certain constant values are substituted during each execution.
In other words, if you have a query that you want to execute with different parameters, it's preferred to use prepared statements. By using prepared statements, some bootstrapping operations before query execution (e.g. parsing, optimization, etc.) will be done only once.
Moreover, some attacks like SQL Injection would be prohibited by using prepared statements, as your query processing engine will know about the parameters and will only allow data to be filled in them, and not another piece of SQL.

Callable statements
A CallableStatement object provides a way to call stored procedures in a standard way for all RDBMSs. A stored procedure is stored in a database; the call to the stored procedure is what a CallableStatement object contains. This call is written in an escape syntax that may take one of two forms: one form with a result parameter, and the other without one. A result parameter, a kind of OUT parameter, is the return value for the stored procedure. Both forms may have a variable number of parameters used for input (IN parameters), output (OUT parameters), or both (INOUT parameters). A question mark serves as a placeholder for a parameter.

SQL Statements Vs Prepared statements Vs Callable statements

ORM(Hibernate,JPA)

If you are already familiar with Java, with Object/Relational Mapping, and with the Object/Relational mismatch, you may want to skip right to the Hibernate ORM benefits discussion.

Persistence
Hibernate ORM is concerned with helping your application to achieve persistence. So what is persistence? Persistence simply means that we would like our application’s data to outlive the applications process. In Java terms, we would like the state of (some of) our objects to live beyond the scope of the JVM so that the same state is available later.

Relational Databases
Specifically, Hibernate ORM is concerned with data persistence as it applies to relational databases (RDBMS). In the world of Object-Oriented applications, there is often a discussion about using an object database (ODBMS) as opposed to a RDBMS. We are not going to explore that discussion here. Suffice it to say that RDBMS remain a very popular persistence mechanism and will so for the foreseeable future.

The Object-Relational Impedance Mismatch
'Object-Relational Impedance Mismatch' (sometimes called the 'paradigm mismatch') is just a fancy way of saying that object models and relational models do not work very well together. RDBMSs represent data in a tabular format (a spreadsheet is a good visualization for those not familiar with RDBMSs), whereas object-oriented languages, such as Java, represent it as an interconnected graph of objects. Loading and storing graphs of objects using a tabular relational database exposes us to 5 mismatch problems…

Granularity
Sometimes you will have an object model which has more classes than the number of corresponding tables in the database (we says the object model is more granular than the relational model). Take for example the notion of an Address…

Subtypes (inheritance)
Inheritance is a natural paradigm in object-oriented programming languages. However, RDBMSs do not define anything similar on the whole (yes some databases do have subtype support but it is completely non-standardized)…

Identity
A RDBMS defines exactly one notion of 'sameness': the primary key. Java, however, defines both object identity a==b and object equality a.equals(b).

Associations
Associations are represented as unidirectional references in Object Oriented languages whereas RDBMSs use the notion of foreign keys. If you need bidirectional relationships in Java, you must define the association twice.

Likewise, you cannot determine the multiplicity of a relationship by looking at the object domain model.

Data navigation
The way you access data in Java is fundamentally different than the way you do it in a relational database. In Java, you navigate from one association to an other walking the object network.

This is not an efficient way of retrieving data from a relational database. You typically want to minimize the number of SQL queries and thus load several entities via JOINs and select the targeted entities before you start walking the object network. d will so for the foreseeable future.

Advantages of ORM
They write correct and optimized SQL queries, thereby eliminating the hassle for developers
They make the code easier to update, maintain, and reuse as the developer can think of, and manipulate data as objects
ORMs will shield your application from SQL injection attacks since the framework will filter the data for you!
ORMs provide the concept of Database Abstraction which makes switching databases easier and creates a consistent code base for your application.

Resources:
http://smallbusiness.chron.com/disadvantages-information-technology-business-4020.html
https://eternalsunshineoftheismind.wordpress.com/2013/02/16/advantages-and-disadvantages-of-information-systems-for-businesses/
https://answers.yahoo.com/question/index?qid=20101026165149AAB9bza
http://www.managementstudyguide.com/information-system-and-information-technology.htm
http://www.managementstudyguide.com/information-system-and-information-technology.htm
http://businesscasestudies.co.uk/canon/integrated-information-systems-seeing-the-whole-picture/#axzz3tYnnYRAQ
https://www.techopedia.com/definition/441/database-server
http://www.my-project-management-expert.com/different-types-of-databases-2.html
https://www.w3schools.com/whatis/whatis_sql.asp
https://www.quora.com/SQL-What-are-prepared-statements
https://www.cs.mun.ca/java-api-1.5/guide/jdbc/getstart/callablestatement.html
http://hibernate.org/orm/what-is-an-orm/
https://blog.yellowant.com/orm-rethinking-data-as-objects-8ddaa43b1410

No comments:

Post a Comment

Client-Side Development Rich Web based Applications

Client-Side Development Rich Web based Applications Rich Internet applications (RIA) are Web-based applications that have some characteri...