The following is a brief introduction of some of EmotionSoft’s strengths and technologies that other companies cannot easily provide.

Technology for creating an integrated authentication system

The most widely used system that EmotionSoft has developed is an authentication system for a huge B-to-C website that is used by tens of thousands of people every day. Building an integrated authentication system between web applications running on different platforms is one of EmotionSoft’s specialties.

Sketch of Integrated AuthSystem
Sketch of the configuration diagram of the integrated authentication system
  • Provides a mechanism to integrate the authentication of internal and external systems that make up a website using a membership master on any DB.
  • It enables the integration of authentication between different applications deployed on various development platforms that implement OpenID Connnect.
  • Create multi-factor authentication using smartphones, external authentication functions using SNS accounts such as Google/Microsoft/Facebook/Line, and password reset functions using confirmation emails.
Integrated AuthSystem Structure
Sketch of the configuration diagram of the integrated authentication system

Integration testing technology for CI/CD

In the field of application development, maintenance and operation, where continuous integration and delivery (CI/CD) is becoming a must, it is very important to plan tests correctly and execute them efficiently. In many development sites, the number of tests per screen or per function is determined in the testing process, and there are rules and regulations in place to ensure that the results of the tests are evaluated by all members. However, the overwhelming majority of development sites do not have a concrete method for efficiently completing these tasks.
Development work in such a situation tends to be rule-bound, cramped, and stressful. It is necessary to be creative in the testing itself, to utilize ideas, and to create a situation where work can proceed efficiently.

In EmotionSoft, we have prepared methods and means to efficiently perform testing in all phases from unit testing during unit function development to coupling testing, system testing, comprehensive testing, and production release.

エモーションソフトの統合テスト技術

The motivation of developers and testers will never increase if they simply create detailed test plans and test specifications, and then follow them to the letter. By using efficient and easy-to-use tools that stimulate their inquisitive minds, the efficiency of testing will be improved and the quality of the system will be greatly enhanced. As a result, we are able to provide our users with higher quality products in a faster time. EmotionSoft has built up a lot of such achievements.

EmotionSoft ‘s testing method is not a rule-based one, but an aggressive testing method that mixes our own and other companies’ tools on top of the rule-based foundation to proceed efficiently.

Development of operational support tools that can be used immediately in the site

As systems become larger and more complex, they inevitably create problems that cannot be solved internally. (For example, exceptions that occur in the DB update process that are removed from transaction processing for performance reasons.)

The role of the operations team in DevOps is to solve these problems and keep the system running as stably as possible, but most of the time, this is done manually. The reason for this is that the system is continuously changing as the development team adds and improves functions, so other problems arise one after another, and there is not enough time to develop tools to automate the handling of these problems.

EmotionSoft has been involved in the development of various tools to support the work of the operations team in such a DevOps environment. By combining a wide range of development libraries, we are able to quickly create and deliver applications that require complex processing. Below are some of the operational support tools we have created.

SQL Server Monitoring Tool

This is a tool to monitor the operation status of SQL server in web applications that use Microsoft SQL server as DB. It monitors the processes running on the server and checks the occurrence of deadlocks and exclusive locks. If a process is blocking another process for more than a specified period of time, a warning is issued, and the process can optionally be terminated automatically. It can also be used in conjunction with the SQL profiler to identify SQL with performance problems and the applications that are executing them.

Front-end screen of the SQL server monitoring tool. Real-time monitoring of the tool and the executed SQL that is causing the exclusion block.

File transfer tool for on-premise use (uploader)

If you are running your website in an on-premise environment, you have to upload various files for programs and contents to multiple redundant servers. As the size of the site increases, the number of web applications increases, and the number of network shared folders to be deployed increases as well. In addition, managing the accounts of users who can operate the shared folders becomes more complicated.

The uploader is a tool that solves this problem. This is a tool that uploads programs and files of applications that are allowed by the authenticated user to the shared folder where the application is located.

All files that are overwritten as a result of the upload are automatically backed up and can be rolled back with the touch of a button in case of failure of the uploaded program. In addition, the transfer of each files is checked for update times, and files with a risk of being degraded can be skipped or the transfer itself can be canceled.

オンプレミス向けファイル転送ツールの画像
Front-end screen of a file transfer tool for on-premise environments

Ad hoc DB maintenance tools

Using the testing tool provided by EmotionSoft, you can easily create a web application that executes complex DB processing with simple operations. For example, you can extract invalid data by referring to the error log of the application, and modify the values of the items that have data errors at once.

FreeTestPanelによるデータの検索と結果出力

We have also developed a variety of other operational support tools. We have also developed many tools that support not only the operations team but also the development team. We plan to release those tools that can be generalized as our own products in the future. Please visit the “Products to be released” page.

Techniques for creating screen UI using trees and customized grids

Finally, I would like to mention the technology for creating screen UI. EmotionSoft is good at extending the standard screen controls provided by Visual Studio for Windows and Web applications, and we have a lot of experience in this area. In this section, we will introduce some of our most popular extensions for tree and grid.

Tree-based screens are very effective for manipulating hierarchical data. However, it requires a certain level of skill to freely program this tree in Web and Widows applications. EmotionSoft provides a tree that has been extended to display a selection box to let the user select a node, and to show the execution status with an easy-to-understand mark, as shown in the following screen.

A tree showing the selection status of nodes and the success or failure of execution results.

In addition, even in a grid (list view), it requires advanced skills to create user interfaces such as connecting and grouping multiple cells, displaying images, or allowing cell input to be selected from a drop-down list. 

The following is an example of an extended grid that achieves these goals.

Customize grid to display marks, connect multiple cells, and insert images.

EmotionSoft uses these technologies to provide low-cost screens that display complex data in an easy-to-understand manner and at the same time have excellent operability.

Technologies we plan to focus on in the future

Technology for creating asynchronous web applications using RESTful web APIs

The recent trend in web applications is to use asynchronous processing using RESTful web APIs and various JavaScript frameworks on the front side to achieve a highly operable screen UI and faster processing itself.

EmotionSoft has experience in both front-end development and back-end service development, but we were better at developing RESTful back-end services. However, checking out the recent development of JavaScript frameworks such as React, Vue, and Angular, we had no choice but to focus on front-side development as well.

Blazor Sample Application(Weather forecast)
Example of Blazor application retrieving and displaying information from Weather Forecast.API

Among the front-side development technologies, EmotionSoft pays special attention to Microsoft’s Blazor, a framework for developing programs that run on WebAssembly, the technical foundation for Web browsers.

Blazor is a framework for developing programs that run on the WebAssembly web browser technology platform. In addition, the development language can be written in various languages including C#, so the development languages for the front and service sides can be unified. (Other than Blazor, the only development language for the front side is JavaScript.)

EmotionSoft believes that Blazor will be one of the mainstream of front-side development technology in the future, and we are working to acquire front-side program development skills using it.


TOP