| 0 comments ]

This blog post will cover what I learnt yesterday. I Started with the part 0 of the ITSO TS 1000 Specification.

Integrated Transport Smartcard Organisation(ITSO) TS 1000-0(Version 2.1.3)

Definition.
The aim of the organisation is to provide a platform and toolbox for interoperable contactless customer media, public transport ticketing and related Services in the UK in a manner which offers end to end loss-less data.
It has been kept as open as possible within the evolving national, european and international standards in order to maximize co-operation in order to maximize competition in the supply of systems and components.
 Customer Media (CM)
Refers to the electronic platform used by the passenger to store the ticketing products. Currently most ITSO scheme implementations use smartcard as the platform for CM.
Requirements of a Customer Media
A customer Media (CM) can be anything but must support a Contactless Power and Data interface that complies with the relevant parts of ISO/IEC 14443. The CM must be an ISO/IEC 14443 card i.e. must comply with the relevant parts of ISO/IEC 14443 standard.
Any of the card types of the ISO/IEC 14443 standard is supported as long as the relevant parts of the standard are supported.
The CM-to-POST interface is a critical!! Of course it is. The ITSO Standard defines the following attributes for the CM-TO-POST interface for each supported platform.

·         Physical
·         Power Transfer mechanism
·         Data Layout
·         Data Access and Security
·         Benchmark Transaction times
For each platform of a CM e.g. a smartcard, mobile phones or PDAs, the ITSO TS 1000-10 defines the corresponding attributes of the CM-TO-POST interface. This definition is referred to as the Customer Media Definition (CMD). This CMD covers all the defined attributes of the platform including the physical form factor and the data layout.
Since platforms with different physical form factor can have the same data layout, the Format Version Code (FVC) is used to make the distinction during the verification of the platform. The FVC is stored as part of the ITSO Data on the CM. The Point of Sale Terminal (POST) can read the FVC code and determine which data processing rules to apply.
Platform types for which a CMD has not been defined in the ITSO TS 1000-10 document are not supported and can therefore not be supported and/or certified.
Customer Media Definitions (CMD)
A CMD record for a platform defines the following main things
1.       Data Structures
One of the main functions of the customer Media Definitions is to map the logical ITSO data structures to the physical electronic storage provided by the media..lalalalalalalala
Obviously in some cases this will involve mapping the data structure defined by the ITSO to the Physical bits and bytes of the platform (e.g.   if this is on a memory card) where as in other cases, it will be mapped to the logical storage elements provided by the media (e.g. on a processor based platform with an operating system and a file storage system)

2.       Commands
Another function of the CMD is to define the COMMANDS required to access the data on the chosen platform. The ISO/IEC 14443 standard, which defines the various types of cards, defines that cards that are certified to be ISO/IEC 14443 compliant should allow for the use of proprietary commands under certain circumstances and POSTs must be capable of supporting each command for the platform that use them.

3.       Security
A number of mechanisms are used to ensure media security including
a.       Use of anti-tear mechanisms to protect the integrity of the data in situations where the media is removed from the POST’s RF field before the required data is written (NOT SURE..lol)
b.      ISAM generated seals are used to ensure authenticity of the data
c.       Use of Media Access Keys to control write access to the CM and hence protect the integrity of the Data.
d.      Use of fixed number that is unique to the CM to make key and seals media instance specific
4.       Transaction Timing
The longer the transaction time, the higher the risk of the CM being removed prematurely before data update is complete. For each CMD, the ITSO TS 1000-10 defines a benchmark transaction together with the maximum time that is allowed to carry out a transaction

5.       Classes of Media
The CMD groups CM platforms into two.
a.       Full ITSO shell CM platforms
b.      Compact ITSO Shell Platforms


Differences between Full and Compact ITSO Shells
FULL ITSO SHELL PLATFORM
COMPACT ITSO SHELL PLATFORM
May host a number of ITSO ticketing products concurrently
Hosts only a single ITSO ticketing product at any one time
Capable of Cyclic Logs into which transient tickets may be placed
Not capable of hosting a cyclic log











 

| 0 comments ]

A new Job normally comes with having to learn something new which I like because they become part of my skill set. Luckily, this new Job involves a technology that I find quite fascinating and with my background in Electronic engineering, its even more important. It is the ITSO TS 1000 Specification.
ITSO is the Integrated Transport Smartcard Organisation. The organisation's main responsibility is to define the architecture and specification that drive interoperatbily in the transport smartcard arena. The organisation has gone to lengths to ensure every section of the interoperabily requirements is covered to the very last detail in the ITSO TS Specification. This means it is no small specification.
Now thats something more interesting and I want to be a specialist in this thing. I have always wanted to specialise in a particular domain in the industry, not just be a Java Developer so here I go.
In the next few days, I am going to teach myself all the parts of the specification. Don't worry. I have taught myself a lot of things. The interesting thing here is that, I am going to teach you, if you have read to this line, all the 10 parts as well. This is how I will do it. I will learn it. Then write my notes as a summary of the relevant points in ordinary plain english without the jargon which you can also read without having to read the specification. I also wish I can add a quiz which you can take after every lesson to assess your understanding. Obviously, reading, making notes, retyping the notes and writing questions mean I will have understood the topic very well. My objective accomplished. It will also serve as a reference point when I am in full swing of the job. Fingers crossed. So here we go. Please give any feedback. I don't even know if anyone will read this.Hahahaha

| 0 comments ]

Create a copy of the jboss run.bat and rename. Eg run_debug.bat.
Then change the JAVA_OPTS environment variable as shown below.
Enjoy

@echo off
rem -------------------------------------------------------------------------
rem JBoss Bootstrap Script for Win32
rem -------------------------------------------------------------------------

rem $Id: run.bat,v 1.4.4.7 2004/12/15 16:39:23 starksm Exp $

@if not "%ECHO%" == ""  echo %ECHO%
@if "%OS%" == "Windows_NT"  setlocal

set DIRNAME=.\
if "%OS%" == "Windows_NT" set DIRNAME=%~dp0%
set PROGNAME=run.bat
if "%OS%" == "Windows_NT" set PROGNAME=%~nx0%

rem Read all command line arguments

REM
REM The %ARGS% env variable commented out in favor of using %* to include
REM all args in java command line. See bug #840239. [jpl]
REM
REM set ARGS=
REM :loop
REM if [%1] == [] goto endloop
REM         set ARGS=%ARGS% %1
REM         shift
REM         goto loop
REM :endloop

rem Find run.jar, or we can't continue

set RUNJAR=%DIRNAME%\run.jar
if exist "%RUNJAR%" goto FOUND_RUN_JAR
echo Could not locate %RUNJAR%. Please check that you are in the
echo bin directory when running this script.
goto END

:FOUND_RUN_JAR

if not "%JAVA_HOME%" == "" goto ADD_TOOLS

set JAVA=java

echo JAVA_HOME is not set.  Unexpected results may occur.
echo Set JAVA_HOME to the directory of your local JDK to avoid this message.
goto SKIP_TOOLS

:ADD_TOOLS

set JAVA=%JAVA_HOME%\bin\java

if exist "%JAVA_HOME%\lib\tools.jar" goto SKIP_TOOLS
echo Could not locate %JAVA_HOME%\lib\tools.jar. Unexpected results may occur.
echo Make sure that JAVA_HOME points to a JDK and not a JRE.

:SKIP_TOOLS

rem Include the JDK javac compiler for JSP pages. The default is for a Sun JDK
rem compatible distribution to which JAVA_HOME points

set JAVAC_JAR=%JAVA_HOME%\lib\tools.jar

rem If JBOSS_CLASSPATH is empty, don't include it, as this will 
rem result in including the local directory, which makes error tracking
rem harder.
if "%JBOSS_CLASSPATH%" == "" (
 set JBOSS_CLASSPATH=%JAVAC_JAR%;%RUNJAR%
) ELSE (
 set JBOSS_CLASSPATH=%JBOSS_CLASSPATH%;%JAVAC_JAR%;%RUNJAR%
)

rem Setup JBoss specific properties
set JAVA_OPTS=%JAVA_OPTS% -Dprogram.name=%PROGNAME%
set JBOSS_HOME=%DIRNAME%\..

rem Sun JVM memory allocation pool parameters. Modify as appropriate.
rem set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m

rem. CHANGE YOUR DEBUG OPTIONS HERE
rem JPDA options. Uncomment and modify as appropriate to enable remote debugging.
set JAVA_OPTS=-classic -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n %JAVA_OPTS%

rem Setup the java endorsed dirs
set JBOSS_ENDORSED_DIRS=%JBOSS_HOME%\lib\endorsed

echo ===============================================================================
echo .
echo   JBoss Bootstrap Environment
echo .
echo   JBOSS_HOME: %JBOSS_HOME%
echo .
echo   JAVA: %JAVA%
echo .
echo   JAVA_OPTS: %JAVA_OPTS%
echo .
echo   CLASSPATH: %JBOSS_CLASSPATH%
echo .
echo ===============================================================================
echo .

:RESTART
"%JAVA%" %JAVA_OPTS% "-Djava.endorsed.dirs=%JBOSS_ENDORSED_DIRS%" -classpath "%JBOSS_CLASSPATH%" org.jboss.Main %*
IF ERRORLEVEL 10 GOTO RESTART

:END
rem if "%NOPAUSE%" == "" pause

rem :END_NO_PAUSE