IN PARTNERSHIP WITH Systems Advisers Group Axapta Overview Microsoft Business Solutions - Imran Ali.

Post on 28-Dec-2015

221 views 3 download

Transcript of IN PARTNERSHIP WITH Systems Advisers Group Axapta Overview Microsoft Business Solutions - Imran Ali.

      

IN PARTNERSHIP WITH

Systems Advisers Group

Axapta Overview

Microsoft Business SolutionsMicrosoft Business Solutions

- Imran Ali

      

IN PARTNERSHIP WITH

Development

• The AOT- Open source (apart from Kernel)

• IntelliMorph • The MorphX IDE • X++• The Layered Application Structure of

Axapta• Drag-and-Drop functionality

      

IN PARTNERSHIP WITH

AOT

      

IN PARTNERSHIP WITH

AOT

      

IN PARTNERSHIP WITH

Intellimorph• Axapta user interface

• Ability to perform simple modifications.

• Reports & Forms

      

IN PARTNERSHIP WITH

Morph X• Development Suite (IDE)

• Develop and Customise interface

• Windows and Web interface

• Allows designing, editing, compiling and debugging

      

IN PARTNERSHIP WITH

Morph X• Any user of the Axapta application

can customize the Axapta application to suit their needs

• The standard application is never overwritten

• Deleting an object, deleted in the current layer only

      

IN PARTNERSHIP WITH

X++• Object Oriented language

• Hybrid of Java and C++• Contains many familiar SQL

commands

      

IN PARTNERSHIP WITH

X++void run(){ AssetTable assetTable; Counter progressTotal; Counter progressCounter;

startLengthyOperation(); ttsbegin;

progressTotal = SysQuery::countTotal(queryRun); this.progressInit("@SYS67571", progressTotal, #AviFindFile); queryRun.query().dataSourceTable(TableNum(AssetTable)).update(true);

while (queryRun.next()) { assetTable = queryRun.get(TableNum(AssetTable)); progressCounter++; progress.setCount(progressCounter); progress.setText(strFmt("@SYS67572",assetTable.assetId,assetTable.assetGroup)); assetTable.barcode = assetTable.assetId; assetTable.update(); } ttscommit;

endLengthyOperation();}

      

IN PARTNERSHIP WITH

Interconnectivity

      

IN PARTNERSHIP WITH

Interconnectivity

• Component Object Module– Microsoft Business Connector– DCOM

• ODBC• XML• ActiveX• .Net Web service• OLAP• SQL Reporting service

      

IN PARTNERSHIP WITH

Component Object Model

• Own COM object– allows to external application to connect– Business Connector

• Connects to external applications– e.g: Word, Excel, Outlook

• DCOM• Axapta user required

– with appropriate security rights

      

IN PARTNERSHIP WITH

COM

External Example –

void new(COM _com = new COM('{783CD4E4-9D54-11CF-B8EE-00608CC9A71F}'))

{

Object o = _com;

this = o;

self = _com;

}

      

IN PARTNERSHIP WITH

Business Connector

• Microsoft Axapta Business Connector

• Allows other applications to connect– Enables external applications to run

Axapta code

• Must be registered where COM code will be executed

      

IN PARTNERSHIP WITH

Business Connector

• Example – – Word– Excel– Outlook

      

IN PARTNERSHIP WITH

XML

• Axapta has full support for XML• Uses MSXML standard classes• Wrapper for the COM object• Does not support native XML, must code.• Examples include:

– SOAP– WML– SVG

      

IN PARTNERSHIP WITH

Commerce Gateway

• Delivery of Documents between entities

• Handles industry standard XML documents

• BizTalk– Calls a static method using COM

connector

      

IN PARTNERSHIP WITH

SQL Database

Axapta Application (AOD)

Axapta Clients (ax32.exe)

Customers Suppliers

2 PC

1 Cloud

1 Firewall

1Database

server

1 Building

1 File server

1E-Commerce

server

1Government

building

1Application

server

Legend

Symbol Count Description

Axapta Commerce Gateway

BizTalk Axapta Commerce Gateway

Government

Application Object Server

      

IN PARTNERSHIP WITH

MSMQ

• Reads from MSMQ folders• Sends to MSMQ folders• Triggers set up to login into Axapta, via

COM• Messages disappear when completed• Axapta only commits when finished

successfully

      

IN PARTNERSHIP WITH

MSMQ

• Example –

queueInfo = new MSMQQueueInfo();queueInfo.queueName(".\\Private$\\AxToTestQueue");

queue = queueinfo.open(#MQ_PEEK_ACCESS, #MQ_DENY_RECEIVE_SHARE);transaction = dispenser.BeginTransaction();

message = queue.receive();message.sendInTransaction(queue, transaction);

      

IN PARTNERSHIP WITH

ODBC

• Connection straight to any database– by ODBC connection

      

IN PARTNERSHIP WITH

ODBC

• Example –

loginProperty = new loginproperty(); loginProperty.setDSN("MSACCESS");

ODBCConn = new odbcconnection(loginProperty);statement = oDBCConn.createStatement();resultSet = statement.executeQuery("SELECT * FROM CustomersTable");

while(resultSet.next()){

myVar = resultSet.getString(#CODE);}

      

IN PARTNERSHIP WITH

Web service

• Web services is a new way of packaging functionality so that it may be used by anyone, across machine boundaries.

• XML is pivotal for this technology.• Part of Microsoft’s .NET platform.• Using web services from Axapta is trivially

simple.

      

IN PARTNERSHIP WITH

Web Service

• Using Web services from Axapta is trivially simple:

WebService w = new WebService(http://somewhere/myservice.asp);

Print w.theMethod(1, ”Hello”);

      

IN PARTNERSHIP WITH

Web Service

• Example – PDF Retrieval

– HTTP request to PDF server with Base64EncodingString in .aspx format

– Web Server validates String and Streams back PDF file

– ActiveX control in Axapta displays PDF document

      

IN PARTNERSHIP WITH

ActiveX• Supports ActiveX controls

• Provides extra functionality

• Supports DLL– Example WinAPI

      

IN PARTNERSHIP WITH

ActiveX

      

IN PARTNERSHIP WITH

Advance Controls

      

IN PARTNERSHIP WITH

OLAP

• Uses Microsoft Office PivotTable ActiveX control

• Cube data is available from the OLAP server through the PivotTable® Service

• The Microsoft Office PivotTable ActiveX is a part of the Office Web Components included in Microsoft Office 2000

      

IN PARTNERSHIP WITH

MS Reporting Services

• HTTP requests

• ActiveX Controls

• Returns HTTP page

• Read from SharePoint portal

      

IN PARTNERSHIP WITH

Payroll Integration

      

IN PARTNERSHIP WITH

Payroll Module

• Payroll Module is an add-on– Created by third party

      

IN PARTNERSHIP WITH

Payroll Interface

• Payroll system called ‘Earnie’– CSV interface– User inter-action– Exporting:

• Aggregation of Timesheet lines by Pay Elements

– Importing:• Payslip

– Axapta to calculate costs

• General Ledger Costs

      

IN PARTNERSHIP WITH

Payroll Interface

• TRENT• Established Payroll system

– Clients: Virgin, Northern Rock, University of Bolton

• £1.7 million contract with one of our Axapta clients

• Created interface between TRENT and Axapta

      

IN PARTNERSHIP WITH

Payroll Interface• Axapta Export:

– Contract Creation, Suspension, deletion at ‘Real Time’ (Projects module)

• Deletion & Suspension uses Web service interface

– Axapta expects Yes/No reply

– Exceptions• BizTalk emails error report to user

      

IN PARTNERSHIP WITH

Payroll Interface

• Axapta Import:– Timesheets

• 10,000 Lines per month

– Payslip• Axapta to run calculation costings• Update timesheet lines with correct costs• Create General Ledger journal

– Employee data– Pay Elements (called categories in Axapta)

      

IN PARTNERSHIP WITH

Payroll Interface

• XML• BizTalk

– Split XML files per company– Email errors to appropriate users

• Axapta Business Connector• User interaction

– Select period, automatically sends data

• No Commerce Gateway Module

      

IN PARTNERSHIP WITH

Payroll Interface

• Projects Module• Human Resources Module• Axapta logs all communications between systems• All errors written to Windows Event Log• Exception handling when reading from MSMQ.

– Axapta does not commit until process is finished. – Message is never lost– BizTalk will send again

      

IN PARTNERSHIP WITH

• Security between servers– WS-Security, WS-Policy– Kerberos tickets– Encrypted SOAP messages

Payroll Interface

      

IN PARTNERSHIP WITH

Thank you

      

IN PARTNERSHIP WITH

Questions?