Category Archives: Programming

  • 0

Reengineering Applied to Software Development: An Introduction

Category:Programming

Reengineering is a software development process that involves reusing existing code to create new applications and features. This process can significantly speed up the development time and reduce the cost of creating new software. In this article, we’ll take a closer look at what regenerating is and how it can be applied to software development.

What is Reengineering?

Reengineering is the process of using existing code to build new software. Instead of starting from scratch, developers can reuse existing code, or “reengineer” it, to create new applications or features. This approach can be used in a variety of ways, including:

  • Modifying existing code to create a new application or feature
  • Using existing code as a starting point to create a new application or feature
  • Reusing existing code as part of a larger application or system

Benefits of Reengineering in Software Development

There are several benefits to using reengineering in software development, including:

  • Speed: Reengineering can significantly speed up the development time for new applications and features. Instead of starting from scratch, developers can reuse existing code, reducing the time and effort required to create new software.
  • Cost Savings: Reengineering can also reduce the cost of software development. By reusing existing code, developers don’t have to spend as much time writing new code, which can reduce the overall cost of creating new software.
  • Improved Quality: Reengineering can also improve the quality of software. By reusing code that has already been tested and debugged, developers can reduce the number of bugs and other issues that can arise during the development process.
  • Increased Flexibility: Reengineering also makes it easier to create software that is flexible and adaptable. By reusing existing code, developers can quickly and easily create new applications and features, which can help them respond to changing market needs and trends.

How to Apply Reengineering in Software Development

If you’re interested in applying reengineering to your software development process, here are a few tips to help you get started:

  1. Start with a codebase: Before you can start reengineering, you’ll need to have a codebase to work with. This codebase can be a standalone application, a library, or a module that you’ve created or obtained from another source.
  2. Identify the areas of your codebase that can be reused: Once you have a codebase, you’ll need to identify the areas of your code that can be reused. This can include code for common functions, data structures, and algorithms, as well as more specific features and functions.
  3. Refactor your code: Before you start regenerating, you may need to refactor your code to make it more modular and reusable. This can involve breaking down your code into smaller, more manageable parts and adding comments and documentation to help you understand how your code works.
  4. Document your code: To make it easier to regenerate your code, you’ll need to document your code thoroughly. This includes adding comments to explain how your code works and documenting any APIs or other interfaces that your code provides.

Conclusion

Reengineering is a powerful tool for software development that can help you create new applications and features more quickly and easily. By reusing existing code, you can reduce the cost and time required to create new software, while also improving the quality and flexibility of your applications. If you’re interested in using reengineering in your software development process, be sure to follow the steps outlined above and start using this approach to create better, faster software.


  • 0

Introduction to SXI_MONITOR Transaction

Category:Programming,SAP,SAP PI/PO

The SXI_MONITOR transaction is a tool in the SAP system used to monitor and manage the status of inbound and outbound interfaces. It allows you to view the current status of your system’s interfaces and to troubleshoot any issues that may arise.

Here is a guide to get started with SXI_MONITOR:

  1. Access the transaction by entering “SXI_MONITOR” into the command field of the SAP system.
  2. The interface monitor screen will appear with a list of all available interfaces.
  3. Use the filter options to narrow down the list to the specific interface you want to monitor.
  4. Select the interface and click on “Display” to view the details.
  5. The interface details screen will show information such as the status, start time, and end time of the interface, as well as any errors or warnings.
  6. If an error occurs, use the “View Log” button to access the log file and see a detailed explanation of the error.
  7. The “Monitor” tab provides an overview of the interface execution, including the number of messages processed, the number of messages in error, and the total processing time.
  8. The “Details” tab provides a more in-depth look at the individual messages processed by the interface, including the status, timestamp, and any relevant messages.
  9. Use the “Reset” button to clear the status of a completed interface and start a new run.
  10. The “Start” and “Stop” buttons can be used to manually start or stop the interface.

With the SXI_MONITOR transaction, you have a central location to monitor and manage the status of your system’s interfaces. This helps you to ensure that your interfaces are running smoothly and to quickly identify and resolve any issues that may arise.


  • 0

Speechlo: Harnessing the Power of Artificial Intelligence for Better Communication

Category:Artificial Intelligence,Programming

In today’s fast-paced world, effective communication has become an increasingly important aspect of our personal and professional lives. Whether it’s giving presentations, negotiating deals, or simply expressing our ideas, the way we communicate can have a profound impact on our success. This is where Speechlo comes in.

Speechlo is a cutting-edge technology that leverages the power of artificial intelligence to help you communicate more effectively. With its advanced speech recognition and analysis capabilities, Speechlo provides a wealth of tools and insights to help you hone your communication skills and become a better speaker.

One of the key features of Speechlo is its speech recognition software, which is powered by state-of-the-art machine learning algorithms. This allows the system to accurately transcribe your words in real-time, so you can see exactly how you’re coming across to your audience. You can then use this information to identify areas for improvement and work on becoming a more confident and effective speaker.

Another powerful feature of Speechlo is its speech analysis capabilities. The system uses sophisticated algorithms to analyze your speech patterns, tone, and pace, providing you with detailed feedback on everything from your pronunciation and enunciation to your pacing and delivery. With this information, you can learn how to make your message more impactful and engaging, helping you connect with your audience and achieve your goals.

Perhaps most importantly, Speechlo is designed to be accessible and user-friendly. It’s easy to get started and you don’t need any special training or technical skills to use it. Whether you’re a seasoned speaker or just starting out, Speechlo provides the tools and insights you need to take your communication skills to the next level.

In conclusion, if you want to become a better speaker and communicator, Speechlo is the solution you’ve been looking for. With its powerful combination of speech recognition and analysis technology, Speechlo is the perfect tool for anyone who wants to communicate more effectively and achieve their goals. So why wait? Start harnessing the power of artificial intelligence for better communication today!

Don’t let poor communication hold you back any longer! Sign up for Speechlo today and start your journey to becoming a better speaker and communicator. Whether you’re looking to improve your public speaking skills, negotiate more effectively, or simply express your ideas more clearly, Speechlo has the tools and insights you need to succeed. So what are you waiting for? Sign up now!


  • 0

Revolutionizing Speech: How Technology and AI are Transforming Text-to-Speech with Human-like Voices

Category:Programming

Technology and artificial intelligence (AI) have come a long way in recent years, and one area where this is particularly evident is in the field of text-to-speech (TTS) synthesis. TTS systems are designed to convert written text into spoken words, and today’s TTS systems are able to produce human-like voices with a high degree of accuracy.

One of the key advancements that has made this possible is the development of deep learning algorithms. These algorithms are able to analyze large amounts of data and learn to recognize patterns and relationships between different sounds and words. This allows TTS systems to generate speech that sounds more natural and human-like.

Another important factor is the use of large datasets of recorded speech. These datasets are used to train TTS systems, and the more data that is available, the more accurate the system can become. In addition, the use of sophisticated algorithms to analyze and process the speech data also helps to improve the quality of the generated speech.

One of the most popular TTS systems available today is Google’s DeepMind WaveNet. This system uses a deep neural network to generate speech that sounds very natural. It is able to produce speech in a wide range of languages and dialects, and it can even mimic specific individuals’ voices.

Another example is Amazon’s Polly, which uses advanced machine learning techniques to produce lifelike speech. It offers a variety of natural-sounding voices, including voices in multiple languages, and allows users to customize the speed, pitch and volume of the generated speech.

The TTS systems also have many practical applications, such as in virtual assistants, voice-controlled devices, and accessibility technology for people with hearing impairments. In the future, it’s likely that TTS technology will continue to improve, becoming even more natural and human-like, and finding new applications in a variety of fields.

In conclusion, the technology and artificial intelligence have made a great development in the field of text-to-speech synthesis. The use of deep learning algorithms and large datasets of recorded speech have improved the accuracy of TTS systems and made it possible to produce human-like voices. TTS technology is already being used in many practical applications, and it is likely to continue to evolve and improve in the future.


  • 0

Splitting Messages in SAP PO using a Java Mapping

Category:Programming,SAP,SAP PI/PO

Here is an example of a Java mapping in SAP PO that splits a message using the String.split() method:

import java.util.Arrays;

import com.sap.aii.mapping.api.*;

public class MessageSplitter extends AbstractTransformation {

    public void transform(TransformationInput input, TransformationOutput output) throws StreamTransformationException {
        try {
            // Get input and output payload
            InputPayload in = input.getInputPayload();
            OutputPayload out = output.getOutputPayload();

            // Read input message into a string
            byte[] bytes = new byte[in.getInputStream().available()];
            in.getInputStream().read(bytes);
            String inputMessage = new String(bytes);

            // Split message using a delimiter
            String delimiter = ",";
            String[] parts = inputMessage.split(delimiter);

            // Write the parts to the output payload
            for (String part : parts) {
                out.getOutputStream().write(part.getBytes());
            }
        } catch (Exception e) {
            throw new StreamTransformationException(e.getMessage());
        }
    }
}

In this example, the input message is read into a string, then split using the comma (“,”) delimiter. The resulting parts are then written to the output payload, one after the other. You can change the delimiter to any string you want to use as a separator.

Please keep in mind that this is just an example and it may need further adaptation depending on the specific requirements of your integration scenario


  • 0

How To Secure a JMS connection in SAP PI with TLS 1.2 to IBM MQ

Category:Programming,SAP,SAP PI/PO

There are plenty resources on this topic, but this post based on my experience intend to allow SAP Customers that are still using SAP PI as the top integration solution in their landscape, to allow to secure their integration scenaries between an SAP system like CRM (Customer Relationship Management), ERP (Enterprise Resource Planning), SOLMAN (Solution Manager) between antohers and the IBM MQ system.

Goal

The goal of this post is to allow you to setup a TLS connection between an an IBM MQ system  version 7.5 or upper and a SAP PI system running over Netweaver(NW) 7.4 or upper using a communication channel type JMS versión 1.x or 2.x.

Assumptions

  • The JMS drivers are already deployed at the Netweaver System.
  • The JVM is already updated to the last version available.
  • The Netweaver components are already updated to the last version available.

Steps

1. Oracle usually is the provider of the Java Virtual Machine (JVM) used at Operating System level where the Netweaver is installed, since MQ System use the IBM JVM, this could create the issue “2393 MQRC_SSL_INITIALIZATION_ERROR / MQRC_UNSUPPORTED_CIPHER” once the channel wll be started. In order to prevent that Cipher Suite Mapping should be disable, this will be achieved following steps described at Note 2218025.

1.1. Please logon to the NWA and once there, please locate the Configuration Tab -> infrastructure -> Java System Properties

Step 1.1 Configuration Tab -> infrastructure -> Java System Properties

1.2. Once there, the node Z* should be selected and navigate to the tab System VM Parameters,  there add the following parameter.

com.ibm.mq.cfg.useIBMCipherMappings=false

Step 1.2 Node-> System VM Parameters

2. Adjust the allowed security protocols that could be used to stablish a handshake at the system; in order to do this must follow the same steps defined at point 1.1, once there add the following parameter:

jdk.tls.client.protocols = TLSv1,TLSv1.1,TLSv1.2

Be aware that this is just an illustrative example.

3. In order to prevent the issue “error connecting due to missing class com.ibm.mq.jms.MQQueueConenctionFactory“, the SAP Note 1751177 should be applied, this will allow to preload the related classes of MQ Driver

3.1 Please login into NWA and go through this path Java System Properties → Applications, once there please be aware to select the property com.sap.aii.adapter.jms.app application and modify the property value.

MQ 7.50

Set the “preloadClasses” property as: com.ibm.mq.MQEnvironment,com.ibm.mq.internal.MQCommonServices,com.ibm.mq.jms.MQQueueConnectionFactory,com.ibm.mq.jms.MQTopicConnectionFactory.

Step 3.1 Java System Properties → Applications->com.sap.aii.adapter.jms.app application

4. Once this activities will be finished, ask to your Basis team to make a full restart of the application.

5. Create or Modify the communication channel using the integration builder tool or through NWDS

Be aware to create the communication Channel at the Integration directory as JMS 1.X under NW 7.4 or 2.x under NW7.5

Then at the option Enable Security, mark useSSL and select OTHER in the SSL Cipher Suite dropdown, next be aware to write the ciphersuite that will be used in the other cipher suite text field.

Conclusion 

In summary, securing our internal connections will allow us to protect the data, our most valuable assets inside the companies and this post will help you to enable secure connections from your NW PI/PO systems to external servers.

I hope this article was valuable and i appreciate your feedback, comments or suggestions, please feel ree to reache out me if you have any further question

Read More