Showing posts with label Computerized Accounting System. Show all posts
Showing posts with label Computerized Accounting System. Show all posts

Sunday, March 20, 2016

ACCESSING THE WEB API

Webopedia definition of "API"

API - application program interface

API, an abbreviation of application program interface, is a set of routines, protocols, and tools for building software applications. The API specifies how software components should interact and APIs are used when programming graphical user interface (GUI) components.  A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together.

Types of APIs
Please click this link to know more: http://www.webopedia.com/TERM/A/API.html

Please click to read first the blog on "3RD PARTY INTERFACE IS POSSIBLE IN IKONOMIKAL".


Accessing the Ikonomikal Web API


Content:
  1. Requirements
  2. Enable WEB API
  3. Granting Access To Roles
  4. Request And Response Method 
    • JSON Format Example
    • Class Example
    • JSON Serialized/De-serialized to Class
  5. Basic Example (“Adding A New Department”)
    • Log-In
    • Requesting for a "NEW" token
    • Executing the "NEW" procedure
    • Complete the Program
  6. 3rd Party Interface
    • Why Mapped Fields and Batch Upload is Recommended?
    • Why API in Real-Tim Communication is not Recommended?

1. Requirements

The following are the major requirements to access the API:

Functional:
  1. Registered Email ID
  2. Active company subscription
  3. Currently assigned to a company by invitation
  4. Enabled API Access (to bypass the captcha requirement)

Development Language:
  1. Must support Classes
  2. Must support JSON Format
  3. Must be able to Serialize and De-serialize JSON
  4. Must support HTTP or Web Request


2. Enable WEB API

Enabling WEB API from Ikonomikal User Home Page






3. Granting Access To Roles

Example: Granting “NEW” access to Department Profile





4. Request And Response

Ikonomikal API’s are accessed by issuing a POST request And receiving a response in JSON Format.








Note: This cannot be done on the browser unless the Cross Origin Resource Sharing (CORS) policy is disabled.




4.1 JSON Format Example





4.2 Class Example




4.3 JSON Serialized/De-Serialized To A Class



5. Basic Example

“Adding A New Department Profile”



5.1 Log-IN




5.2 Requesting for a “NEW” token



5.3 Execute the “NEW“ procedure



5.4 Complete Program



6. 3rd Party Interface
  • Why Mapped Fields and Batch Upload is Recommended
  • Why API in Real-Time Communication is not Recommended.


6.1 Mapped Fields And Batch Upload

THIS IS AN IKONOMIKAL PROGRAM
Fully Integrated With Other Ikonomikal Programs



THIS COULD BE YOUR PROGRAM

FEATURES:
  • Your programs’ performance will be based on how much hardware you install.
  • You can add any field or data you want in future revisions without asking us to modify our system.
  • Your program will only communicate with Ikonomikal during a scheduled batch upload and use the ikonomikal MAP field in place of the Department Code. 
  • The batch upload data is scheduled and can be monitored and then corrected before it goes to ikonomikal.
  • Operations users can continue working even if ikonomikal is under maintenance or if you suddenly lost connection to ikonomikal. Only the batch upload will not run.
  • Use this technique if you want to minimize inter system maintenance down-times. 



Think of a Point Of Sale System that connects to an ERP or any Accounting System. 

With mapped fields and batch upload, customers and cashiers are able to complete transactions even when the ERP or Accounting System is on maintenance.

Mapped Fields and Batch Upload is recommended


6.2 API in Real-Time communication

THIS IS AN IKONOMIKAL PROGRAM
Fully Integrated With Other Ikonomikal Programs

THIS COULD BE YOUR PROGRAM


FEATURES:
  • You will have to map your program users to ikonomikal users so they could be assigned with the correct Roles (this is for each User you create in your system). 
  • You need constant API Access and needs uninterrupted availability of ikonomikal.
  • Which ever system is slowest, is your overall systems’ performance.
  • The reverse of the features mentioned in the “MAPPED FIELDS AND BATCH UPLOAD”.




API in Real-Time communication is not recommended




THIS IS ONE OF THE REASONS WHY 
YOU HAVE TO COMPLETE YOUR SYSTEM SO IT CAN RUN INDEPENDENTLY



Ikonomikal Sample API of a Department Profile.

Please do the following:
2. Click Clone or download
3. Download Zip

Requirements:
Visual Studio 2013
VB.NET
Microsoft .NET 4.6


You may also be interested to know (please click to browse):
  1. What are the Security Features of Ikonomikal?
  2. How Robust is Ikonomikal?
  3. What is Ikonomikal SSL Security Level? 
  4. Is 3rd Party Interface Possible in Ikonomikal?
  5. Ikonomikal Programming Language and Environment Diagram
  6. Company website of Ikonomikal
  7. Ikonomikal software site
  8. What is Ikonomikal?

Click to Email: Teodoro Rolluqui



Accessing the
Ikonomikal Web API



Saturday, December 26, 2015

IKONOMIKAL PROGRAMMING LANGUAGE AND ENVIRONMENT DIAGRAM

Ikonomikal Programming Language

Microsoft .Net Framework 4.6 in Microsoft Azure
with the following FrontEnd And BackEnd

FrontEnd:
VB.NET
Asp.net MVC5 and WEBAPI
HTML/CSS
Javascript

BackEnd:
SQL Azure V12 (primary storage)
Azure Blob Storage
Azure Table Storage


Ikonomikal Environment

Narrative Sequence Connection Flow guided by letters and numbers

A1. Business Process Knowledge
A1. BOTSYS ERP / ERPC Knowledge
A1. Business Tools / Spread Sheet

All A's from 1 to 4 connects in number sequence using Red Lines
Note: Red lines - Speed Equivalent to Memory (or Thought)

A2. Current Work Scenario
A3. User / Subscriber
A4. Internet Browser

A4 & A5 Connects to and from using Green Lines
Note: Green lines - At least 4Mbps Network Speed

A5. Internet Line 1.2,3.... N

A5 & A6 Connects to and from using Black Lines
Note: Black lines - Network Speed 1Gbps Upload/Download (Wan)

A6. MS Azure Firewall
A7. MS Azure Load Balancing Servers

B1. BCSS Internal  Company Operations
B2. MS Azure Load Balancing Servers

A7 & B2 Connects to and from C using Blue Lines
All succeeding connections are using Blue Lines
Note: Blue lines - Network Speed 100Mbps to 1Gbps (LAN)

C1 MS Azure DNS/Router/Switch Devices

C1 Connects to and from D using Blue Lines
All succeeding connections are using Blue Lines
Note: Blue lines - Network Speed 100Mbps to 1Gbps (LAN)

Application Servers Hosted by MS Azure Cloud Service
Note: Connections are in random and not following number sequence
D1. Core Web Servers
D2. Add-Ins Web Servers
D3. Analysis Servers
D4. Crystal Reports Web Servers
D5. Business Intelligence Process Servers
D6. Subscribers & User Web Server
D7. 3rd Party BCSS Internal Mgt Tools
D8. Template & Offline BLOB Web Servers
D9. Developer Web Server (Future)
D10. Subscriber Data Backup Servers
D11. Internet Browser Framework
        D11.1 Javascript
        D11.2 HTML & CSS
        D11.3 Big.js
        D11.4 JQuery.js & Ext
        D11.5 Linq.js
        D11.6 KnockoutJS.js
        D11.7 Developer Javascript Framework
        D11.8 BCSS Custom Javascript Framework
D12. Microsoft.Net Framework
        D12.1 MS Core.Net
        D12.2 MVC
        D12.3 Crystal Reports
        D12.4 Web API
        D12.5 BCSS Custom.Net Framework
        D12.6 Functional Architecture

D Connects to and from E using Blue Lines
All succeeding connections are using Blue Lines
Note: Blue lines - Network Speed 100Mbps to 1Gbps (LAN)

Azure SQL DB Servers And BLOB Servers
Note: Connections are in random and not following number sequence
E1. Subscriber DB Servers
E2. Company DB Servers
E3. Developer DB Servers (Future)
E4. User DB Servers
E5. Messaging DB Server
E6. Template BLOB Storage
E7. Offline BLOB Storage


See Attachment for

IKONOMIKAL ENVIRONMENT DIAGRAM

IS 3RD PARTY INTERFACE POSSIBLE IN IKONOMIKAL?

YES, 3RD PARTY INTERFACE IS POSSIBLE IN IKONOMIKAL

Behind the possibility of 3rd Party Interface in Ikonomikal are the architecture and ways to make it work.

To start with are relevant topics such as

  1. 3 Tier Architecture
  2. Web API Layer

1. 3 Tier Architecture



The Ikonomikal program is divided into 3 major Layers:



  •      1.1. Presentation Layer – this is where users are able to interact with (ex. Websites).
  •      1.2. Business Logic Layer – this is where the program processes the users request (ex. Saving, Deleting, Posting, etc.)
  •      1.3. Data Access Layer – this is where the program manipulates the database as requested by the Business Logic Layer.

1.1 Presentation Layer




1.2 Business Logic Layer



1.3 Data Access Layer



This is great news because not all programs are written this way

Ikonomikal is a 3 Tiered Architecture



Some are developed as one host combining all the 3 layers without any end point to integrate with. 



Before we answer the question, let us talk about another layer that makes this all possible…




2. Web API Layer

These are end points or interfaces where you can contact or interact with the Business Logic Layer.

For example, when you call from a telephone with the correct number and the other end rings.




Webopedia definition of "API"

API - application program interface

API, an abbreviation of application program interface, is a set of routines, protocols, and tools for building software applications. The API specifies how software components should interact and APIs are used when programming graphical user interface (GUI) components.  A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together.

Types of APIs
Please click this link to know more: http://www.webopedia.com/TERM/A/API.html


Question: 

Is 3rd Party interface possible In Ikonomikal?

The answer is a big
YES



What are the main requirements?
  • Your program must support the JSON Format
  • You must have a valid Email ID and Password
  • You must be invited to a Company

</> 

Quick example on how to connect to API:
(Example: Create a new GL Account)

    1.  Get a save token:
         bcss_wbcl_wa_sc/api/O1_getSCPrgPrcCheckTkn

   2.  Execute the save command:
bcss_wbcl_wa_gl/api/gl_02_gl00001_sav






Our team uses the same set of APIs, which means that you can basically rewrite the entire Presentation Layer for us.




You may be interested to know (please click to browse):
  1. What are the Security Features of Ikonomikal?
  2. How Robust is Ikonomikal?
  3. What is Ikonomikal SSL Security Level?
  4. Company website of Ikonomikal
  5. Ikonomikal software site
  6. What is Ikonomikal?


Please click to send inquiry by email to: Teodoro Rolluqui


Wednesday, September 23, 2015

WHAT ARE THE SECURITY FEATURES OF IKONOMIKAL?




ikonomikal SECURITY FEATURES

1.  SSL (Secure Sockets Layer)
2.  Microsoft Azure Firewall
3.  IP Address Lock
4.  Identity Based Security
5.  User Invitations
6.  Role Based Security
7.  API/Webserver Based Data Access
8.  Audit Trail Logs
9.  Self Service Database Restore
10. Geo Database Restore
11. External Database Backup Storage




1.  SSL (SECURE SOCKETS LAYER)

ikonomikal uses the same encryption technology implemented by most banks.

SSL (Secure Sockets Layer) is the standard security technology for establishing an encrypted link between a web server and a browser. This link ensures that all data passed between the web server and browsers remain private and integral. 


2.  MICROSOFT AZURE FIREWALL

ikonomikal uses a firewall similar to what you have installed on your computers, but in a larger scale. We manage this feature for you as part of your package.


A firewall can help prevent hackers or malicious software (such as worms) from gaining access to your computer through a network or the Internet. A firewall can also help stop your computer from sending malicious software to other computers.



3.  IP ADDRESS LOCK

Almost any information can be accessed from the internet.

The IP Address Lock in ikonomikal is able to minimize data breach or leak by allowing you to specify IP Addresses that are allowed to connect.


When a user from outside requests access to the company, that user provides the administrator his/her IP Address. The administrator shall enter the IP Address in the IP Address Set. The IP Address Set then is entered in System User if concerning only the user or in the System User Groups if more than one user or with specific access only. The IP Address Lock can also be implemented at the Company, Branch, and Department Levels.




4.  IDENTITY BASED SECURITY

In ikonomikal, we always use session keys to communicate with our API/Webserver.
 
A user is required to have an account with a valid email address and password to log in. A session key is generated in place of the user password and this is what gets transmitted over the internet.
All session keys are unique per user.



SIGN UP AND LOGIN PAGE




5.  USER INVITATIONS

Everyone is free to sign up in ikonomikal, but will not be able to connect to any company. 

A user must be invited by the company administrator and then he/she has to accept the invitation.




UNINVITED USER



INVITED USER



6.  ROLE BASED SECURITY

Your identity is always validated by ikonomikal.  Identities are also given a role by way of the System Users and System User Groups.

The System Users and System User Groups are a set of rules or authorities granted to you. It describes what you can and can’t do.




7.  API/WEBSERVER BASED DATA ACCESS

In ikonomikal, you are allowed access to your data only after your identity is authenticated and role is identified.

A direct connection to your database is not allowed for safety and to preserve data integrity. 

Instead, the API/Webserver uses your role to identify what you can do and can’t do and connects direct to your database and perform actions on your behalf.




8.  AUDIT TRAIL LOGS

ikonomikal logs Activities, Data or Information such as:

1.  Save
2.  Add
3.  Delete
4.  Data
5.  Close
6.  Post
7.  Drop
8.  Set to Post
9.  Unset to Post
10. Account Entries
11. Income and Expense Entries
12. Retained Earnings Entries
13. File Attachments
14. Document Notes
15. Print
16. BI Datasource
17. BI Chart
18. BI Dashboard
19. BI Excel
20. BI Word
21. BI Scheduled
22. Program Que

Legend: BI = Business Intelligence Program




9.  SELF SERVICE DATABASE RESTORE

We simplified the database restoration. Most of the providers require you the knowledge or asks service fees for this. In ikonomikal, you only need the date/time and a restore button.


SELF SERVICE DATABASE RESTORE is available with a restoration gap of 30 minutes. The data to restore must be within the past 14 days.



10. GEO DATABASE RESTORE

Backups on the same Data Centers where your database is located may fail. We also backup every database and store it miles away. This backup has 1 Hour difference and can only be restored at the time of last backup.




11. EXTERNAL DATABASE BACKUP STORAGE

ikonomikal allows you to take full backups of your database. The Self Service Database Restore and Geo Database Restore features are performed only in our data warehouse. But, the External Database Backup Storage allows you to have a physical backup of your database.

You can use this to study the data structure, make offline data analysis, or just to have that feeling of security where you are in close proximity with your database.