Platform TemelleriPlatform Basics

This page is part of an incremental translation project. Body text not yet translated to Turkish falls back to English even in TR mode.

TROIA Platformu, TROIA Programlama Dilinin üzerinde çalıştığı yazılım framework'üdür. Bu bölüm, ilerleyen bölümlerin daha iyi anlaşılması için platformu ve TROIA Platformunun ana mimarisini tanıtır.TROIA Platform is the software framework which TROIA Programming Language works on. This section introduces the platform and its main architecture of TROIA Platform for better understanding of next sections.

Amacı AnlamakUnderstanding the Purpose

TROIA, IAS (Industrial Application Software) tarafından tasarlanmış yüksek seviyeli bir programlama dilidir.TROIA is a high level programming language which is designed by IAS (Industrial Application Software).

Ana amacı, business application'ları kolay ve verimli bir şekilde geliştirmek ve sürdürmektir. Dördüncü nesil bir programlama dili (4GL) olarak, TROIA'nın tüm hardware'e özgü detaylardan, byte ve bit'lerden vb. güçlü bir abstraction'ı vardır. Büyük bilgi koleksiyonlarını programcı dostu bir şekilde işleme konusunda güçlü bir yeteneğe sahiptir.It’s main purpose is for developing and maintaining business applications in an easy and efficient way. As a fourth generation programming language (4GL), TROIA has strong abstraction from all hardware specific details, bytes and bits etc. It has strong ability to operate large collections of information, in a programmer-friendly manner.

Platform Ne Sunuyor?What Does The Platform Offer?

TROIA, business katmanı bilgisine erişmek, onu işlemek ve raporlamak için çok sayıda faydalı feature içerir. Bu feature'lar sayesinde, TROIA programlama dillerinin teknik detaylarının neden olduğu "acıyı" azaltır, bu yüzden programcılar business katmanı konularına odaklanabilir. API'ler & dll'ler, localization, çeşitli platform ve database'leri desteklemek, bu acı veren teknik detaylerden sadece birkaçıdır. İşte platformun developer'lar, administrator'lar ve kullanıcılar için sunduğu bazı temel avantajlar:TROIA contains too many useful features to access, operate and report business layer information. Thanks to these features, TROIA reduces “the pain” caused by technical details of programming languages, so programmers can focus business layer issues. APIs&dlls, localization, supporting various platforms and databases are just the examples of these painful technical details. Here are some basic advantages that the platform offers for developers, administrators and the users:

Teknik Detaylerden BağımsızFree of Technical Details

Öğrenmesi kolay ve doğal bir konuşma diline benzeyen bir yapıya sahiptir. Yazılım ve computer engineering geçmişi olmayan çalışanlar hızlıca öğrenebilir. Kurulum, configuration ve development yapabilirler.It has a structure that is easy to learn and resembles a natural speech language. Employees without a software and computer engineering background can learn quickly. They can install, configure and develop.

Hızlı Development ve BakımRapid Development and Maintenance

Business process'lerini iyileştirme amacıyla geliştirilmiştir ve bu amaç için gerekli tool'ları içerir. Developer'lar, karşılaşacakları teknik detaylar yerine business process'lerine odaklanabilir ve development ve bakım işlerini daha hızlı ve verimli bir şekilde gerçekleştirebilir.It has been developed with the aim of improving business processes and includes the tools needed for this purpose. Developers can focus on business processes rather than technical details they will encounter, and can carry out development and maintenance jobs more quickly and efficiently.

Entegre YapıIntegrated Structure

Doğrudan business application'larının development'ı için tasarlanmıştır. Bu anlamda, ihtiyaç duyulabilecek tüm yapıları ve alt sistemleri içerir. Üçüncü taraf sistemlere ve programlama dillerine olan ihtiyacı büyük ölçüde ortadan kaldırır. Training, support, bakım ve sistemler arası entegrasyonlar, aynı yaklaşıma sahip tek bir sistem içinde kolayca gerçekleştirilir.It is designed for the development of direct business applications. In this sense, it includes all structures and subsystems that may be needed. It largely eliminates the need for third party systems and programming languages. Training, support, maintenance and inter-system integrations are easily carried out within a system with the same approach.

Cross Platform (Platform'dan Bağımsız)Cross Platform (Platform Independent)

Application server ve desktop client (native, desktop client), Windows, Linux, Unix gibi operating system'lerde çalışır. Web client tabanlı client (web client), Chrome ve Safari gibi çeşitli internet browser'ları üzerinden kullanılabilir. caniasERP ve TROIA platformunda yazılan tüm application'lar, ek bir sürece ihtiyaç duymadan platformun desteklediği tüm sistemlerde çalışabilir.Application server and desktop client (native, desktop client) run on operating systems such as Windows, Linux, Unix. Web client-based client (web client) can be used over various internet browsers such as Chrome and Safari. All applications written on caniasERP and TROIA platform can run on all systems supported by the platform without the need for an additional process.

Cross Database (Database'den Bağımsız)Cross Database (Database Independent)

Platformdaki tüm application'lar, kodlarında herhangi bir değişiklik olmadan MSSQL, MySQL, PostgreSQL, Oracle, DB2 gibi sık kullanılan tüm database sistemleriyle ve JDBC interface'iyle erişilebilen diğer tüm database sistemleriyle uyumludur.All applications on the platform are compatible with all frequently used database systems such as MSSQL, MySQL, PostgreSQL, Oracle, DB2 and all other database systems that can be accessed with the JDBC interface without any changes in their codes.

Ortaya Çıkan Sistemlerle UyumluCompatible with Emerging Systems

Platform, yeni yayınlanan sistemi sağladığında, üzerinde yazılan tüm application'lar özel bir compilation veya conversion'a ihtiyaç duymadan bu sistemde çalışmaya başlar. Yazılan application'lara yapılan yatırımın kalıcılığı sağlanır.When the platform provides the newly released system, all applications written on it become running on this system without the need for a special compilation or conversion. The permanence of the investment made in the written applications is ensured.

Çoklu Dil Desteği, Time Zone Desteği ve LocalizationMulti-Language Support, Time Zone Support and Localization

TROIA Platformu, developer'lara hazır çeşitli infrastructure'lar sunar. Platformda dakikalar içinde geliştirilebilen bir business application bile dil desteği, time zone ve diğer tüm localization feature'larını içerir.The TROIA Platform offers a variety of infrastructures ready to developers. Even a business application that can be developed on the platform in minutes includes language support, time zone and all other localization features.

Recompilation Olmadan Customize EtmeCustomize Without Recompilation

Yazılan application'ları çalıştırmak veya mevcut application'larda değişiklik yapmak için sistemi yeniden compile etmeye veya çevirmeye gerek yoktur. Library'ler, .dll, .jar dosyaları, module'ler, karmaşık compiler'larla zaman kaybetmeden application development'ına olanak tanır.There is no need to recompile or translate the system in order to run written applications or make changes to existing applications. It enables application development with libraries, .dll, .jar files, modules, complex compilers without wasting time.

Standart Source Code'ları Düzenlemeden Kolayca Customize EtmeEasy to Customize Without Editing Standard Source Codes

TROIA platformu, yapısında cross adı verilen bir "y yerine x kullan" tanım feature'ı ile birlikte gelir. Cross yapısı, standart bir class yerine customize edilmiş bir versiyonun kullanılmasına olanak tanır. Böylece, klasik programlama dillerinin aksine, bu type'ın object'lerinin oluşturulduğu noktaları veya onlara erişen reference'ları değiştirmeden class'ın davranışını değiştirebilirsiniz. Cross tanımları yalnızca class'lar için değil, dialog'lar, component'ler, report'lar için de yapılabilir, bu yüzden yalnızca davranışı değil, ekran görünümlerini ve output'ları da uyarlamak mümkündür. Cross tanımları; kullanıcı, kullanıcı profili ve/veya tüm sistem bazında yapılabilir.The TROIA platform comes with a “use x instead of y” definition feature called cross in its structure. The Cross structure allows the use of a customized version instead of a standard class. Thus, unlike classical programming languages, you can change the behavior of the class without changing the points where objects of this type are created or the references accessing them. Cross definitions can be made not only for classes but also for dialogs, components, reports, so it is possible to adapt not only the behavior but also the screen views and outputs. Cross definitions; It can be done on the basis of user, user profile and / or whole system.

Diğer Sistemlerle Kolayca EntegreEasy to Integrated with Other Systems

Troia Platformunun güçlü yönlerinden biri esnekliği ve entegrasyon kolaylığıdır. Entegrasyonda kullanılacak teknolojilerin ve protokollerin detayları içinde, automation sistemlerinden, mail server'lardan, telefon santrallerinden ftp server'lara kadar zaman kaybetmeden çeşitli entegrasyon seçenekleri vardır.One of the strengths of the Troia Platform is its flexibility and ease of integration. Within the details of the technologies and protocols to be used in integration, there are various integration options from automation systems, mail servers, telephone exchanges to ftp servers without wasting time.

Yüksek Ölçeklenebilir InfrastructureHighly Scalable Infrastructure

Teorik olarak, birbiriyle işbirliği içinde çalışan yüzlerce application server paralel olarak çalışabilir. Platformun yapısındaki load balancer yardımıyla, kullanıcılar anlık yük dağılımı veya çeşitli parametreler dikkate alınarak en uygun server'lara yönlendirilebilir. TROIA Platformu kullanılarak geliştirilen tüm application'lar, bu ölçeklenebilir yapıda önemli bir performans farkı olmadan bir veya binlerce kullanıcıya hizmet verebilir.Theoretically, hundreds of application servers working in cooperation with each other can work in parallel. With the help of the load balancer in the structure of the platform, users can be directed to the most suitable servers by taking into account the instant load distribution or various parameters. All applications developed using the TROIA Platform can serve one or thousands of users on this scalable structure without a significant performance difference.

Kolay Kurulum, Yönetim ve MonitoringEasy Installation, Management and Monitoring

Sistem kurulum ve güncelleme süreçleri basit dosya kopyalama işlemleriyle gerçekleştirilebilir veya ihtiyaca göre otomatize edilebilir. Yönetim ve monitoring tool'ları TROIA platformuyla hazır gelir ve sistemin diğer component'leriyle paraleldir. Hatta, çeşitli system function'ları sayesinde, mevcut araçlar uyarlanabilir ve TROIA dili kullanılarak yenileri geliştirilebilir.System setup and update processes can be carried out with simple file copying operations or can be automated according to the need. Management and monitoring tools come ready-made with the TROIA platform and are in parallel with the other components of the system. Even, thanks to the various system functions, existing vehicles can be adapted and new ones developed using the TROIA language.

Ana Component'lerMain Components

Application ServerApplication Server

Application server, TROIA platformunun en önemli component'lerinden biridir. Görüldüğü gibi, her türlü TROIA client'ına hizmet veren server tarafı bir service'tir. Temel olarak application server, user session management'tan, troia application lifecycle'ını ele almaktan, database transaction management'tan vb. sorumludur.Application server is one of the most important components of TROIA platform. As it is obvious, it is a server side service that serves for all kind of TROIA clients. Basically application server is responsible for user session management, handling troia application lifecycle, database transaction management etc.

Application server'ın en önemli sorumluluğu, TROIA programlama dilini çalıştırmak ve troia application lifecycle'ını ele almaktır. Application server, TROIA kodlarını çalıştırabilen tek platform component'idir. Bu yüzden bir application server olmadan bir troia kodu çalıştırmak mümkün değildir.The most important responsibility of application server is running TROIA programming language and handling troia application lifecycle. Application server is the only platform component that is able to run TROIA codes. Therefore it is not possible to run a troia code without an application server.

Tek bir application server birden fazla client'a hizmet verebilir. Bir application server'ın düzgün şekilde hizmet verebileceği kullanıcı sayısı, application server'ın iş yüküne bağlıdır. Çok sayıda eşzamanlı kullanıcıya hizmet vermek için birden fazla server'ı aynı anda çalıştırmak mümkündür.A single application server is able to serve multiple clients. User count that an application server is able to serve properly depends on the workload of application server. It is possible to run multiple servers simultaneously to server for numerous concurrent users.

Client('lar)Client(s)

Bir application server'a login olup doğrudan application server üzerinde bir troia application'ı çalıştırmak mümkün değildir. Bu operation'ları yapmak için bir TROIA client'ına ihtiyacınız var. En çok kullanılan TROIA client'ı, application server'a bağlanabilen ve troia application'larını user interface'de çizebilen desktop client'tır (java client veya swing client olarak da adlandırılır). Bu client'ın ana işlevi, kullanıcı action'larını alıp application server'a geçirmek ve ortaya çıkan ekranı user interface'de çizmektir. Ayrıca, TROIA Dilinin development environment'ı java client'ın bir parçasıdır, başka bir deyişle bir TROIA Application geliştirmek için bir desktop client aracılığıyla application server'a bağlanmanız gerekir.It is not possible to log in an application server and run a troia application directly on application server. To do this operations you need a TROIA client. Most used TROIA client is desktop client (also called java client or swing client) that is able to connect application server and draw troia applications on user interface. The main functionality of this client is getting user actions passing them to application server and drawing resulting screen to user interface. Additionally, development environment of TROIA Language is a part of java client, in other words to develop a TROIA Application you have to connect application server via a desktop client.

Desktop client, web client ve web service'ler gibi farklı türde client'lar vardır. Client'lar TROIA kodlarını çalıştıramaz, temel sorumlulukları user interaction'larını server'a aktarmak ve application server response'unu ui veya presentation katmanında ele almaktır.There are different kind of clients such as desktop client, web client and web services. Clients are not able to run TROIA codes, their basic responsibility is transferring user interactions to server and handling application server response in ui or presentation layer.

License ServerLicense Server

License Server, kullanıcı sayısını ve module'leri (TROIA Application gruplarını) dikkate alarak licencing konularını ele alan server tarafı bir service'tir. Genel olarak, License Server application server'lara hizmet verir, ancak bazı diğer server tarafı component'leri de license server'a ihtiyaç duyar.License Server, a server side service that handles licencing issues considering user count and modules (TROIA Application groups). In general, License Server serves for application servers, although some other server side components needs license server.

Başlatıldıktan sonra, bir application server ilk login denemesinde License Server'a erişmeye çalışır. License Server'ınız down ise veya erişilebilir değilse, application server'lar kullanıcıların login olmasına izin vermez. Application server'lar zaten kullanıcıları login etmişken license server down olursa, bu kullanıcılar düzgün çalışmaya devam edebilir. Ama application server'ınız license server'a erişene kadar yeni kullanıcıları login etmek mümkün değildir.After its launch, an application server tries to access License Server at first login attempt. If your License Server is down or not accessible, application servers do not allow users to log in. If license server gets down while application servers have already logged users, this users can work properly. But it is not possible to log in new users until your application server access license server.

Düzgün hizmet vermek için, license server ve hizmet verdiği application server'ların aynı sürüme sahip olması gerekir.To serve properly, license server and the application servers that it serves for must have same version.

RMI RegistryRMI Registry

RMI Registry, TROIA Platformunun tüm component'leri arasında bir iletişim infrastructure'ı sağlayan server tarafı bir service'tir. RMI Registry, farklı java application'ları için iletişim yöntemi sağlayan java'nın RMI Infrastructure'ını kullanır. Platformun herhangi iki component'i RMI Registry'yi kullanır (server'dan server'a, client'tan server'a, server'dan license server'a vb.), bu yüzden diğer platform component'lerinin düzgün çalışması için tek bir RMI registry çalıştırmak zorunludur.RMI Registry is a server side service that provides a communication infrastructure between all components of TROIA Platform. RMI Registry uses RMI Infrastructure of java which provides communication method for different java applications. Any two components of the platform uses RMI Registry (server to server, client to server, server to license server etc), so running a single RMI registry is a must to run other platform components properly.

Diğer Component'lerOther Components

En önemli tool'lar ve component'ler yukarıda listelenmiş olsa da, TROIA Platformunun load balancing, administration, single sign on, monitoring, SMS handling vb. için başka component'leri de vardır. Bu component'lerden bazıları aşağıda listelenmiştir:Although most important tools and components are listed above, TROIA Platform has other components for load balancing, administration, single sign on, monitoring, SMS handling etc. Some of this components are listed below:

Load Balancer, server kaynaklarını ve configuration'ında tanımlanan kuralları dikkate alarak client'ları en uygun server'a yönlendiren server tarafı bir service'tir.Load Balancer is a server side service that redirects clients to best available server considering server resources and the rules that are defined its configuration.

SSO Gateway, TROIA Platformu kullanıcıları için single sign on seçenekleri sağlayan server tarafı bir service'tir.SSO Gateway is a server side service that provides single sign on options for TROIA Platform users.

SMS Gateway, SMS handling için başka bir server tarafı service'tir.SMS Gateway is another server side service for handling SMS handling.

IOT Gateway, çeşitli protokoller aracılığıyla iot cihazlarıyla iletişim kuran ve configuration'ını dikkate alarak event'leri application server'a geçiren bir service'tir. Server tarafı bir service olsa da, aslında application server'ın bir tür client'ıdır.IOT Gateway is a service that communicates with iot devices through various protocols and passes events to application server considering its configuration. Even if it is a server side service, it is a kind of client of application server.

Workbench, application server, license server, load balancer gibi server tarafı component'leri yönetmek ve izlemek için bir administration tool'udur (bir tür client). System administrator'lar bu tool'u kullanarak application server cache'ini, kullanıcı session'larını ve çalışan application'larını vb. görüntüleyip yönetebilir.Workbench is an administration tool(a kind of client) to manage and monitor server side components such as application server,license server,load balancer. Using this tool system administrators can view and manage application server cache, users sessions and their running applications etc.

System Reporter, server tarafı component'lerinizin durumunu configure edilebilir bir periyotta raporlayan bir tool'dur.System Reporter is a tool that reports status of your server side components in a configurable period.

Network Mimarisine Genel BakışNetwork Architecture Overview

İşte database'den user interface'e kadar TROIA Platformunun tüm ana component'lerine ve network yapısına genel bir bakış. Bu genel bakış, TROIA Platformunun hangi component'lerinin server veya client olduğunu açıkça gösterir. Ayrıca, iletişim hatlarının yönlerini görmek mümkündür. Bu yapıyı anlamak, platform hakkındaki bazı ileri seviye soruları kendi başınıza çözmek için çok önemlidir.Here is an overview of all TROIA Plaform’s main components and network structure from database to user interface. This overview clearly shows which components of TROIA Platform are server or client. Additionally, it is possible to see, directions of communication lines. Understanding this structure is too important to overcome some advanced questions about platform by yourself.

TROIA screenshot

Lütfen network yapısını dikkate alarak aşağıdaki soruyu tartışın:Please discuss question below considering the network structure:

Başka bir kullanıcıdan anlık bir mesaj alındığındaIs it possible to push an information to client side

client tarafına bilgi push etmek mümkün müdür? when an instant message recieved from another user?

Configuration TemelleriConfiguration Basics

Database Configuration'larıDatabase Configurations

Database server ve port configuration'ı, databasesettings.ias dosyanızda veya server settings dosyalarınızın [Database] bölümünde bulunur. TROIA Platformu belirli bir db vendor'ı veya port numarasını vb. zorunlu kılmaz, tamamen ihtiyaçlarınıza ve güvenlik politikalarınıza bağlıdır. Ama her durumda database server'larınız application server'larınızdan erişilebilir olmalıdır.Database server and port configuration is located on your databasesettings.ias file or [Database] section of your server settings files. TROIA Platform does not force an exact db vendor or port number etc., it totally depends on your needs and security policies. But in any case your database servers must be accessible from your application servers.

Application Server / Load Balancer / RMI Registry Configuration'larıApplication Server / Load Balancer / RMI Registry Configurations

Sistem belirli bir port kullanmaz, tamamen ihtiyaçlarınıza ve güvenlik politikalarınıza bağlıdır. Bir application server için birden fazla port tanımlamak da mümkündür, tüm bu port configuration'ları server settings dosyanızın [Network] bölümünde bulunur.System does not use a specific port, it totally depends on your needs and security policies. It is also possible to define multiple port for an application server, all these port configuration is located on [Network] section your server settings file.

Ayrıca, server settings dosyası rmi registry port numarası configuration'ını (RMIRegistryPort) içerir, bu, client'lar ve tüm server tarafı component'leri arasındaki iletişim için başka bir server tarafı component'i olan RMI Registry'nizin port numarasıdır.Additionally, server settings file contains rmi registry port number configuration (RMIRegistryPort), this is the port number of your RMI Registry which is another server side component for communications between clients and all server side components.

En önemli şey, "server'ınızın license server'dan, load balancer'dan, end user desktop bilgisayarlarından, batch'lerinizin çalıştığı server tarafı cihazlardan ve TROIA Platformunun web client'ına hizmet veren web server'dan erişilebilir olması gerektiğidir. Bu yüzden lütfen rmi registry port'unuzun tüm license server, load balancer, client cihazlar, batch application server'lar ve web server'ınızdan erişilebilir olduğundan emin olun. Ayrıca, application server port'ları amaçları dikkate alınarak erişilebilir olmalıdır (bazı server'lar yalnızca internal, yalnızca batch'ler için vb. olabilir).The most important thing is that “your server must be accessible from license server, load balancer, end user desktop computers, server side devices that your batches work on and web server that serves TROIA Platform’s web client. So please be sure that your rmi registry port is accessible from all license server, load balancer, client devices, batch application servers and your web server. Moreover, application server ports must be accessible considering their purposes (some servers may be internal only, for batches only etc.)

Load Balancer configuration'ı, application server'ınıza çok benzer ve client'lar tarafından erişilebilir olması için aynı türde network configuration'ına sahiptir. Port numarası sabit değildir, configure edilebilir ve load balancer settings dosyasına birden fazla port eklemek de mümkündür. Load balancer, client bilgisayarlar tarafından ve ayrıca web server'dan erişilebilir olmalıdır.Load Balancer configuration is very similar to your application server and has same kind of network configuration to make it accessible by clients. Port number is not constant, it is configurable and also possible to add multiple ports on load balancer settings file. Load balancer must be accessible by client computers and also from web server.

License ServerLicense Server

Licence Server, 1099'da çalışan RMI Registry'ye kendini kaydeder. Ayrıca "internalrmiport" application parametresiyle configure edilebilen kendi iletişim port'u da vardır. Bu iki port, application server'lar tarafından erişilebilir olmalıdır. ("internalrmiport" parametresi 25.07.29-01'den sonraki build'lerde desteklenir, bu sürümden önce bu port runtime'da rastgele tanımlanır)Licence Server registers itself to the RMI Registry that runs on 1099. It has also its own communication port which is confirable by “internalrmiport” application parameter. These two ports must be accessible by application servers. (“internalrmiport” parameters is supported by the builds after 25.07.29-01, before this version this port is defined randomly on runtime)

Web ServerWeb Server

Web server; TROIA Web Service'lerini, Web Client'ları, JNLP Dosyalarını ve TROIA Platformunun bazı küçük component'lerini barındırır. Tomcat, troia web component'lerine hizmet vermek için kullanılan en popüler ve yaygın kullanılan web server'dır. Sabit bir port yoktur, configure edilebilir (çoğunlukla default tomcat port'u kullanılır) ve ihtiyaçlarınıza bağlıdır. Ama sonuçta tomcat'inizin tüm client bilgisayarlarınız tarafından erişilebilir olması gerekir (jnlp veya web client'a göz atmak için)Web server; hosts TROIA Web Services, Web Clients, JNLP Files and some minor components of TROIA Platform. Tomcat is the most popular and widely used web server that is used for serving troia web components. There is not constant port, it is configurable (mostly default tomcat port is used) and it depends on your needs. But at the end of the day your tomcat must be accessible by all your client computers (to browse jnlp or web client)

Troia Platformu, Apache Tomcat 9.x.x sürümleriyle uyumludur.Troia Platform is compatible with Apache Tomcat 9.x.x releases.

Java SürümleriJava Versions

TROIA Platformu, hem client hem server tarafı için tüm Java 1.8 güncellemelerinde (güncel veya eski sürümler) yaygın olarak kullanılır. Kullanımı sınırlı olsa da, TROIA Platformu tüm Java 21 güncellemeleri ve Open JDK 11 güncellemeleriyle de tamamen uyumludur. (Java 1.8, Java 21, Oracle Java'nın her ikisi de LTS (long term support) sürümleridir)TROIA Platform, is widely used on all Java 1.8 updates (up to date or old releases) both for client and server side. Although its limited usage, TROIA Platform is totally compatible with all Java 21 updates and Open JDK 11 updates, too. (Java 1.8, Java 21 are both LTS (long term support) versions of Oracle Java)

Desktop Client'ların ve TROIA IDE'nin JNLP dosyalarını çalıştırmak için; Java Web Start, Iced Tea veya Open Web Start desteklenir.To run JNLP files of Desktop Clients and TROIA IDE; Java Web Start, Iced Tea or Open Web Start are supported.

Software Mimarisine Genel BakışSoftware Architecture Overview

Temel olarak, TROIA Platformu programcının data'ya erişen, onu manipüle eden ve kaydeden application'lar geliştirmesine olanak tanır. Platform mimarisini anlamak için application server ve client('lar)ın rollerini anlamak çok önemlidir. Aşağıdaki grafik, TROIA Platformunun user interface'den data'ya kadar ana yapılarını ve katmanlarını gösterir. Ayrıca, application server ve client'ın sorumluluk/işlevsellik paylaşımını anlamak mümkündür.Basically, TROIA Platform allows programmer to develop applications that access data, manipulate it and save. To understand platform architecture its very important to understand the roles of application server and client(s). The graphic below, shows the main structures and layers of TROIA Platform from user interface to data. Also, it’s possible to understand responsibility/functionality share of application server and client.

TROIA screenshot

Bu grafiği kullanarak her component'in ve alt sistemlerinin rollerini anlayın ve daha iyi anlamak için bazı ifadeler oluşturup tartışmaya çalışın. İşte tartışılacak bazı örnek ifadeler:Understand the roles of each component and their subsystems using this graphic and try to create some statements and discuss them for better understanding. Here are some sample statements to discuss:

- TROIA Code'ları yalnızca application server'da çalıştırılır.- TROIA Codes are executed only in application server.

- IDE, desktop client'ın bir parçasıdır,- IDE is a part of desktop client,

bu yüzden TROIA application'ları yalnızca desktop cihazlarda geliştirilir. so TROIA applications are only developed desktop devices.

- Desktop ve web aynı troia application model katmanını paylaşır.- Desktop and web shares same troia application model layer.

TROIA Platformunun Ana Build'leriMajor Builds of TROIA Platform

Build numaraları aşağıda listelenmiştir:Builds numbers are listed below:

3.08.xx xxxxxx (2006) (6.02 CANIAS ERP sürümüyle uyumlu)3.08.xx xxxxxx (2006) (compatible with 6.02 CANIAS ERP version)

5.01.xx xxxxxx (2011) (6.03 CANIAS ERP sürümüyle uyumlu)5.01.xx xxxxxx (2011) (compatible with 6.03 CANIAS ERP version)

5.02.xx xxxxxx (2014) (6.04 CANIAS ERP sürümüyle uyumlu)5.02.xx xxxxxx (2014) (compatible with 6.04 CANIAS ERP version)

8.02 YY.MM.DD-NN (2018) (8.02 CANIAS ERP sürümüyle uyumlu)8.02 YY.MM.DD-NN (2018) (compatible with 8.02 CANIAS ERP version)

8.03 YY.MM.DD-NN (2020) (8.03 CANIAS ERP sürümüyle uyumlu)8.03 YY.MM.DD-NN (2020) (compatible with 8.03 CANIAS ERP version)

9.03 YY.MM.DD-NN (2023) (9.03 CANIAS ERP sürümüyle uyumlu)9.03 YY.MM.DD-NN (2023) (compatible with 9.03 CANIAS ERP version)

YY.MM.DD.NN (tüm 8.02, 8.03, 9.03 CANIAS ERP sürümleriyle uyumlu) YY.MM.DD.NN (compatible with all 8.02, 8.03, 9.03 CANIAS ERP versions)

Değişiklikler & İyileştirmeler Nasıl Takip Edilir?How to Follow Changes & Improvements?

TROIA Platformunun her build'i bazı bug'ları düzeltir veya farklı katmanlarda bazı yeni feature'lar ortaya çıkarır. Bazı durumlarda, build upgrade'i administrator'lar veya developer'lar tarafından bazı manuel operation'lar gerektirir. Bu yüzden build'ler arasındaki değişiklikleri takip etmeniz gerekir. Tüm değişiklikler, her build ile birlikte sağlanan/dağıtılan ReleaseNotes.txt dokümanında listelenir. Ayrıca release notes dokümanını "SYST17 - Release Notes" TROIA application'ından ve Workbench'teki "Release Notes Analyser" tool'undan okumak da mümkündür.Each build of TROIA Platform fixes some bugs or reveals some new features in different layers. In some cases, build upgrade requires some manual operations by administrators or developers. So you need to follow changes between builds. All changes are listed in ReleaseNotes.txt document which is supplied/distributed with each build. Also it is possible to read release notes document from “SYST17 - Release Notes” TROIA application and “Relese Notes Analyser” tool on Workbench.